- 6
- 0
- 约1.7万字
- 约 81页
- 2020-05-06 发布于广东
- 举报
1.7 查找和排序 顺序查找与二分查找算法 基本排序算法(交换类排序、选择类排序、插入类排序) 1.7.1 查找(0.89%) 查找是在一个给定的数据结构中,根据给定的条件查找满足条件的结点。不同的数据结构采用不同的查找方法。查找的效率直接影响数据处理的效率。 查找的结果: 查找成功:找到满足条件的结点 查找失败:找不到满足条件的结点。 1.7.1.1 顺序查找(线性查找) 查找过程: 对给定的一关键字K,从线性表的一端开始,逐个进行记录的关键字和K的比较,直到找到关键字等于K的记录或到达表的另一端。 可以采用从前向后查,也可采用从后向前查的方法。 · 在平均情况下,大约要与表中一半以上元素进行比较,效率较低。平均查找长度较大。 · 在下面两种情况下只能采取顺序查找: a. 线性表为无序表(元素排列是无序的); b. 即使是有序线性表,但采用的是链式存储结构。 最坏比较n次。 2.7.1.2 折半查找(二分法查找) 思想:先确定待查找记录所在的范围,然后逐步缩小范围,直到找到或确认找不到该记录为止。 前提:必须在具有顺序存储结构的有序表中进行。 分三种情况: 1)若中间项的值等于x,则说明已查到。 2)若x小于中间项的值,则在线性表的前半部分查找; 3)若x大于中间项的值,则在线性表的后半部分查找。 特点:比顺序查找方法效率高。最坏的情况下,
原创力文档

文档评论(0)