一、学习
1. 散列表(哈希表)
当使用哈希函数计算的哈希值所在位置被占用就像下一个位置查找,知道找到未被占用的位置
- 线性探测法解决冲突容易产生聚集问题
- 装填因子。不易过大过小,即使因子小于1/2也可能冲突,因为还跟散列函数有关,不局限于装填因子。
- 链地址法无法确保平均查找长度为1。平均查找长度(Average Search Length,ASL)是指在哈希表中查找一个元素时需要遍历的平均节点数。其查找长度包括哈希函数的选择、哈希表的容量以及元素的分布情况有关。
2. 平衡二叉树
对长度 为n的有序顺序进行折半查找。
是将序列均分。每一次都均分后左右序列数相同,相当于二叉树,左右个数相同。
二、复习(5)
- 设计模式。
- 策略模式,算法的改变和使用运行时
- 名利模式,对命令的封装和传递
- 观察者模式,当对象状态改变时会通知其他对象改变对象行为
- 状态模式,当对象内部状态发生改变会改变其行为
- python语法
- 元组,不可变集合(1,2) 1,2 (1,) 1,来表示
- 三级模式,外模式、概念模式、内模式。视图层、逻辑层、物理层
- 关系模式,x->y,y->z, x-z, 传递率,z属于y, y属于x, y可以推导出z,自反率. z属于y, x->y, x推导出z, 增广率。
三、复习(6)
- 关系模式。候选键来自非结果项
- 授权sql。grant <权限> on, with grant option。
- 逆波兰表达式 栈深计算。逆波兰表达式中操作数进栈。遇到操作符出栈,在此过程中,栈中存放操作数最大值为栈深。
- 哈夫曼树。最优二叉树。出现频率越高,权值越小