试题与答案

设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查

题型:单项选择题

题目:

设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是( )。

A.s=b

B.s>b

C.s<b

D.s>=b

答案:

参考答案:B

解析: 顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R[0]~R[n-1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>k,则说明待查找的结点只可能在左子表R[0]~R[mid-1]中,我们只需在左子表中继续进行折半查找,若R[mid].key<k,则说明待查找的结点只可能在右子表R[mid+1]~R[n-1]中,我们只需在右子表中继续进行折半查找。这样,经过一次关键字比较就缩小一半的查找范围。对顺序查找而言,如果查找失败,比较次数为n次;对二分查找而言,如果查找失败,比较次数为log2(n+1)次。

试题推荐
微信公众账号搜索答案