第九章 查找
知识点
-
熟练掌握顺序表和有序表(折半查找)的查找算法及其性能分析方法;
-
顺序查找的性能分析
-
空间复杂度:一个辅助空间。
-
时间复杂度:
-
查找成功时的平均查找长度
- 设表中各记录查找概率相等
- ASLs(n)=(1+2+ … +n)/n =(n+1)/2
-
查找不成功时的平均查找长度 ASLf =n+1
-
-
特点
- 算法简单,对表结构无任何要求(顺序和链式)n很大时查找效率较低
- 改进措施:非等概率查找时,可按照查找概率进行排序。
-
-
折半查找(又称二分查找或对分查找)
-
先给数据排序(例如按升序排好),形成有序表,然后再将k与正中元素的key相比,若k小,则缩小至左半部内查找, 若k大则缩小至右半部内查找;再取其中值比较,每次缩小1/2的范围,直到查找成功或失败为止。
-
算法分析
-
查找时每经过一次比较,查找范围就缩小一半,该过程可用一棵二叉树表示:
- 根结点就是第一次进行比较的中间位置的记录ÿ
-
-
-