itgle.com

对具有n个元素的有序序列进行二分查找时,(61)。A.元素位置越靠近序列前端,查找该元素所需的比较次数越少B.查找序列中任何一个元素所需要的比较次数不超过[log2(n+1)]C.查找元素所需的比较次数与元素的位置无关D.元素位置越靠近序列后端,查找该元素所需的比较次数越少

题目

对具有n个元素的有序序列进行二分查找时,(61)。

A.元素位置越靠近序列前端,查找该元素所需的比较次数越少

B.查找序列中任何一个元素所需要的比较次数不超过[log2(n+1)]

C.查找元素所需的比较次数与元素的位置无关

D.元素位置越靠近序列后端,查找该元素所需的比较次数越少


相似考题
更多“对具有n个元素的有序序列进行二分查找时,(61)。A.元素位置越靠近序列前端,查找该元素所需的比较次 ”相关问题
  • 第1题:

    对具有n个元素的有序序列进行二分查找时,(40)。

    A.查找元素所需的比较次数与元素的位置无关

    B.查找序列中任何一个元素所需要的比较次数不超过[log2(n+1)]

    C.元素位置越靠近序列后端,查找该元素所需的比较次数越少

    D.元素位置越靠近序列前端,查找该元素所需的比较次数越少


    正确答案:B
    解析:本题考查查找方法中的二分方法。二分查找过程是:以处于中间位置记录的关键字和给定值比较,若相等,则查找成功;若不等,则缩小范围,直至新的区间中间位置记录的关键字等于给定值或查找区间的大小为零时(表明查找不成功)为止。对于有11个元素的有序表进行二分查找的过程可用一个二叉树表示,如下所示(结点中的数字表示元素在序列中的序号):

    该二叉树表明,若需要查找序列中的第6个元素,则仅需一次元素间的比较。若需查找第3个或第9个元素,则分别需要两次比较。依此类推,查找第1、4、7、10个元素时,分别需要三次比较,查找第2、5、8、11个元素时,分别需要四次比较。因此,查找元素所需的比较次数与元素在序列中的位置是有关的。显然,选项C或D的说法也是错误的。若序列中有n个元素,则根据二分查找法构造的二叉树的高度不会超过[log2(n+1)],因此选项B是正确的。

  • 第2题:

    设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过()。


    答案:C
    解析:
    利用二分查找法最多log2n+1次。

  • 第3题:

    设有序列{10,12,15,19,22,25,100,130,150,200}画出对上述序列进行折半查找的判定树(以序列中的元素作为树的结点)。为了成功查找到100需要进行多少次元素间的比较?为了查找9,经过多少次元素间的比较可知道查找失败?
    (1)

    (2)4次;3次

  • 第4题:

    用递归算法实现n个相异元素构成的有序序列的二分查找,采用一个递归工作栈时,该栈的最小容量应为()。


    答案:D
    解析:

  • 第5题:

    在13个元素构成的有序表A[1..13]中进行折半查找(或称为二分查找,向下取整)。那么以下叙述中,错误的是(60)。

    A.无论要查找哪个元素,都是先与A[7]进行比较
    B.若要查找的元素等于A[9],则分别需与A[7]、A[11]、A[9]进行比较
    C.无论要查找的元素是否在A[]中,最多与表中的4个元素比较即可
    D.若待查找的元素不在A[]中,最少需要与表中的3个元素进行比较

    答案:B
    解析:
    考察数据结构折半查找算法,B选项错误之处在于,要查找a[9]元素,第一次比较的是A[7](下标计算方法为:[1+13]/2=7),第2次比较的是A[10](下标计算方法为:[8+13]/2=10)。