学习小结7
本章学习了几个查找方法
重点学习了二分查找和散列表表
二分查找要求比较苛刻一般需要是顺序结构存储的有序数据
如果对于链表要进行这种操作需要构建二叉平衡树,或者多叉平衡树
散列表采用一种映射的方法简便查找
- 构造方法
- 数字分析法
- 平方取中法
- 折叠法
- 除留余数法
H(key) = key%p
- 处理冲突的方法
- 开放地址法
Hi = (H(key) +di)%m i = 1, 2, …,k(k≤m-1)
- 线性探测法
di = l, 2, 3, …, m-1
- 二次探测法
di = 1^2,1^2,2^2,-2^2,3^2.....+k^2,-k^2(k≤m/2)
- 伪随机探测法(二次聚集或堆积)
- 线性探测法
- 链地址法
把具有相同散列地址的记录放在同一个单链表中,称为同义词链表。
- 开放地址法
比较有难度就是手动构建散列表以及计算平均查找长度需要比较细心和理解好概念。