niusouti.com
更多“利用二分法在序列61,87,154,170,275,426,503,509,512,612,653,677,703,765,897, 908中查找关键码 ”相关问题
  • 第1题:

    利用二分法查找序列的前提条件是

    A.序列不能过大

    B.要查找的数必须在序列中存在

    C.序列必须按顺序排好

    D.序列的个数必须为奇数个


    正确答案:C
    解析:利用二分法查找序列的前提条件是序列必须按顺序排好。

  • 第2题:

    在顺序表(3,6,8,10,12,15,16,18,21,25,30) 中,用二分法查找关键码值11,所需的关键码比较次数为

    A.2

    B.3

    C.4

    D.5


    正确答案:C
    解析:二分查找又称为折半查找,首先用待查元素的关键字与线性表中间位置的一个元素的关键值进行比较,若相同则查找成功,否则以这个中间值为界将线性表分为两个子表,假设子表1中所有元素的关键值都小于中间元素,子表2中的所有元素的关键值都大于中间元素说明待查元素在子表1中,完成了一次查找,这是一次失败的查找,因为11并不在序列表中,一共进行了4次比较。

  • 第3题:

    在顺序表(2,5,7,10,13,17,18,22,24,27,30)中,采用二分法查找法查找关键码值11,所需的关键码比较次数为( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:C
    解析:二分查找的基本思想在于将有序数列的中点设置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。采用二分查找法,第一次用关键字11与第6个元素即17比较,第二次与第三个元素即7比较,第三次与第4个元素即 10比较,第四次与13比较,比较完成,查找失败。

  • 第4题:

    在顺序表(3,6,8,10,12,15,16,18,2l,25,30)中,用二分法查找关键码值11,所需的关键码比较次数为 ______。


    正确答案:4
    4 解析:二分法查找的方法是,首先用要查找的关键码值与线性表中间位置结点的关键码值相比较,这个中间结点把线性表分成了两个子表,比较相等则查找完成,不等则根据比较结果确定下一步的查找应该在哪一个子表中进行。如此进行下去,直到找到满足条件的结点,或者确定表中没有这样的结点。顺序表中共有11个数据元素,所以第一次与第6个数据元素15进行比较,由于关键码值11小于15,应该对前一个子表即(3,6, 8,10,12)进行查找,第二次与新顺序表的第3个数据元素8比较,由于关键码值大于8,此时应该对后一个子表即(10,12)进行查找,第三次与新顺序表的第1个数据元素10比较,由于关键码值比10大,最后又与12比较,所以总共比较了4次。

  • 第5题:

    利用二分法在序列61,87,154,170,275,426,503,509,512,612,653,677,703,765,897,908中查找关键码值为400的结点,需要查找几次?

    A.2

    B.3

    C.4

    D.5


    正确答案:D
    解析:第一次查到509;第二次查到170;第三次查到426;第四次查到275;第五次没有找到,查找结束。掌握起泡排序的排序方法,以及二者的区别。

  • 第6题:

    在有序列表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值12,所需的关键码比较次数为( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:C