查找
平均查找长度:
ASL=$\sum\limits _{i=1}^nP_{i}C_{i}$
其中N为结点的个数,\(P_{i}\)是查找第i个结点的概率,默认情况下查找每个结点的概率是相同的,
平均查找长度可以简化为:
ASL=$\tfrac 1n\sum\limits _{i=1}^nC_{i}$
查找运算是对关键字的比较。
顺序表的查找
前提查找成功和不成功的机会相等
平均查找长度:
((n+1)/2+(n+1))/2 = $\tfrac 34$(n+1)
二分查找
前提顺序存储结构的有序表
索引顺序查找(分块查找)
时间复杂度:
顺序查找、二分查找和分块查找三种查找算法的时间复杂度为O(n)、O(\(log_{2}n\))和O(\(\sqrt n\))。
数表的查找
二叉排序树
重要性质:按照中序遍历二叉排序树所得到的遍历顺序是一个递增有序序列。
散列查找
又称散列表或哈希表
5中常用散列构造方法:
1.直接地址法
2.数字分析法
3.除余数法
4.平方取中法
5.折叠法
解决冲突的方法:
1.开发地址法
(1)线性探查法
(2)二次探查法
(3)双重散列法
2.拉链法