查找
顺序表顺序查找对分查找链表索引顺序表倒排表二叉排序树
定义:
左子树小于根节点
右子树大于根节点
左右子树也是二叉排序树
查找
插入
删除
左右子树都存在时,删除位置的替换元素:
左子树最大元素(左子树中序遍历最后一个)
右子树最小值(中序第一个)
左子树根节点
右子树根节点
二叉平衡树
左子树和右子树的高度之差的绝对值不大于1
GI的一些研究
夏天快到了,想减肥了,虽然冬天是最适合减肥的时候,但是现在开始也不算晚吧(心虚)。然后来说一说饮食,貌似食物的升糖指数和减脂是有一定关系的(具体关系暂时还没看),先来了解一下血糖生成指数
C++指针
这东西是大二第一学期学的,没过多久又忘了,不过手动管理内存也算是C++的透明的一个特点吧。
在C++里,new是手动为对象在对空间里申请规定的区域存放数据,返回的是指针。释放需要通过delete来释放。在C里,用void malloc(size_t size)申请,void free(void ptr)释放。
新建了一个指针以后,一定要给指针初始化,规定指向,不然就成野指针了。
算法
EM算法极大似然估计
Apriori算法面向问题关联规则分析
目标:找出频繁项集,和置信度大的关联
支持度:项集出现的频次/总数 (项集:部分元素的集合)
置信度:条件概率
支持度和置信度大于规定值则有关联规则X->Y
穷举过于复杂,因此有Apriori算法。
算法优化方法频繁项集 前提定理:
如果一个项集是频繁的,那么其所有的子集(subsets)也一定是频繁的。
如果一个项集是非频繁的,那么其所有的超集(supersets)也一定是非频繁的。
含代码的文档
PageRank网页权重排序:根据的是用户最有可能打开网页的概率
假设:
用户面对一个网站里的n个链接,打开是等概率的(平均)
方法有对所有的网页的转移概率矩阵H,$p_0$对网页的初始访问概率。
P_n=H^nP_0上式为第n次访问到网站的概率,理论上可以用这个来排序。
修改上式存在一些问题,用户可能不会点网站里的链接而选择重新搜索,无出度的网站问题。因此改进转移概率矩阵:
S = H + ea^T/N
G = αS + (1-α)ee^T/N S用于生成随机矩阵闭包,α表示用户重新搜索的概率。
α越大 ...
奇异值分解
奇异值分解不唯一
预备知识对于酉矩阵A,有
A^T=A^{-1} ----A^TA=I对称矩阵可以对角化的话,一定是实数特征,特征向量正交
对于$A^TA$,它是对称矩阵,且其特征值都为为负(可能等于0,0也有特征向量)
奇异值分解对于任意矩阵$A_{m*n}$(课上讲的是m>n),存在:
A=U \sum V^{H}其中U,V都是酉矩阵,因此有:
AV=U\sum计算方法原理:(这里用到的是奇异值分解,和特征值分解没啥关系)
A^HA=(U\sum V^H)^H(U\sum V^H)=V{\sum}^H\sum V^H所以V是$A^HA$的特征向量,奇异值是上面的特征值开平方,
对于奇异值非零,U是$u_j=frac{1}{\sigma_j}Av_j$。
对于奇异值是零,U是$A^Hu_j=0$齐次线性方程组的解。
JS异步调用
12345new Promise((resolve,reject)=>{ setTimeout( function(){resolve(123)},1000)}) .then(res=>console.log(res)) .catch()
其中reslove接受正确结果,导入到then
reject接受错误结果,导入到catch
cocos
基于cocos2.4.0版本引擎
cc是cocos的一个命名空间,现在应该就是学一些cc里的一些对象吧
文档链接,cc · Cocos Creator
director有调度器Scheduler(),动作管理器ActionManager(),事件管理器EventAfterDraw()
cc.director.setAnimationInterval(1.0/60); 设置帧率
cc.director.getWinSize() 获取屏幕大小
第一步动起来要添加全局的监视
键盘和重力的监视可以用cc.SystemEvent.EventType
文档)
on用来监视 off用来取消监视
对于鼠标和触摸可以用 cc.node.on(cc.Node.EventType.TOUCH_STAR,callFunction,this)
节点在节点中,可以直接通过this.node.x/y来设置结点的位置
属性创建对于组件的属性,可以在properties里创建,也可以调用this指针创建,(具体区别害没有探究过)
坐标cc.v2()
cc.v3()
是引擎里特殊的对象,用来表示2维和3 ...
python文件和异常处理
文件123with open('123.txt','r') as file_object: for line in file_object: print(line.rstrip())
open( ) close( ) 打开和关闭文件可以通过这两个控制,也可以在前面加制导with让系统控制文件关闭
mode有
w 清空写入
r 只读
a 追加写入
r+ 读写模式
方法鉴赏
异常123456try: print(5/0)except ZeroDivisionError: print("You can't divide by zero!")else: print(answer)
pass 静默失败
存储数据1234import jsonjson.dump(var,filen_object)json.load(file_object)
测试 unittest待补···
磁盘坏道
最近碰到一个问题,磁盘出现坏道了,不过也就下载游戏的时候有影响。
了解了一下,这个问题只会在机械硬盘上出现,而固态硬盘没有(害,固态硬盘盒被同学摔了一下好心疼)。
要处理坏道的问题,一定要做好数据的备份(所以我就没弄)。
用软件尝试修复,不过会丢失附近的数据。
格式化硬盘,把坏道周围的空间都不拿来用。
用机械硬盘也就找回文件方便,虽然我没怎么用过。
python面向对象
模块化
模块名和文件名同名
import module_name
调用 module_name.function_name()
from module_name import childsection as othername
from module_name import * 导入所有函数
类123456class Dog(父类): def _init_(self): #构造函数 ··· #self是c++里的*this super._init_() #构造父类 dog=Dog() #创建实例