失效链接处理 |
算法查找专项题目答案解析QAC PDF 下载
本站整理下载:
相关截图:
主要内容:
1.
对线性表进行二分查找,其前提条件是
顺序表只是说明数据存储是有序的,但是并不代表存储的值是有序的。
bb
2.
适用于折半查找的表的存储方式及元素排列要求为( )
选d
这里的坑就是折半查找法!其实就是二分法
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。折半查找要求线性表必须采用顺序存储结构,而且表中
元素按关键字有序排列。
3.
设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。
这里可以利用完全二叉树的思想,所有的节点个数为1000个,求树的最小高度的问题。。。当高度为10时,能查找到1023个元素。
二分查找的最坏时间复杂度为O(log n),把n等于1000带入得到,log1000>9,<10,取整那么至少10
log(1000)向上取整
4.
在顺序表
{
1
2
、1
5
、1
7
、2
0
A. 2
B. 3
C. 4
D. 5
、2
4
、30、3
8
、4
3
、4
5
、5
1
、
52}
中,用二分法查找关键码
2
0需做( ) 次关键字比较。
以上一共11个数,按下标则是0..10,以下按照步骤进行
1、mid=(left + right)/ 2 = (0 + 10) / 2 = 5,即第一次使用目标值20与下标为5的值30进行比较,20<;30,则 right = mid - 1 = 4;
2、mid=(left + right)/ 2 = (0 + 4) / 2 = 2,即第二次使用目标值20与下标为2的值17进行比较,20>;17,则 left = mid + 1 = 3;
3、mid=(left + right)/ 2 = (3 + 4) / 2 = 3,(int,向下取整),即第三次使用目标值20与下标为3的值20进行比较,20=20,返回
下标3,算法结束。
综上所述,进行了3次比较,选B。
对半比,就是二分法,就类似于中分头
|