长度为12的有序表:Apr,Aug,Dec,Feb,Jan,Jul,Jun,Mar,May,Nov,Oct,Sep,按折半查找法对该表进行查找。在表内各元素等概率情况下查找成功所需的平均比较次数为( )A.35/12B.37/12C.39/12D.43/12

题目

长度为12的有序表:Apr,Aug,Dec,Feb,Jan,Jul,Jun,Mar,May,Nov,Oct,Sep,按折半查找法对该表进行查找。在表内各元素等概率情况下查找成功所需的平均比较次数为( )

A.35/12

B.37/12

C.39/12

D.43/12


相似考题
更多“长度为12的有序表:Apr,Aug,Dec,Feb,Jan,Jul,Jun,Mar,May,Nov,Oct,Sep,按折半查找法对该表进行查 ”相关问题
  • 第1题:

    阅读以下说明和C++抖程序,将应填入(n)处的字句写在答题纸的对应栏内。

    【说明】

    下面程序的功能是计算并输出某年某月的天数。

    【C++程序】

    include<iostream>

    using namespace std;

    (1) Month{Jan,Feb,Mar,Art,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec};

    class Date{

    public:

    Date(int year,Month m_month){

    (2) =year;

    if (m_month<Jan‖m_month>Dec) month=Jan;

    else month=m_month;

    };

    ~Date(){};

    bool IsLeapYear(){

    return ((year%4==0 && year%1001!=0)‖year%400==0);

    };

    int CaculateDays(){

    switch( (3) ){

    case Feb:{

    if( (4) )return29;

    e1Se return 28;

    }

    case Jan:case Mar:case May:case Jul:case AUg:case Oct:

    case Dec:retllrn 31;

    case Apr:case Jun:Case Sep:case Nov:roturu30;

    }

    };

    private:

    int year;

    Month month;

    };

    void main(){

    Date day(2000,Feb);

    tout<<day. (5) ();

    }


    正确答案:(1)enum (2)this->year (3)month (4)IsLeapYear() (5)Cacu lateDays
    (1)enum (2)this->year (3)month (4)IsLeapYear() (5)Cacu lateDays 解析:程序的空(1)所在行的目的是定义一枚举类型用来表示一年12个月,所以空1应填上enum;在类Data中定义了两个私有变量year和m_month分

    别用来存储年份和月份,在Data类的构造函数中,要求给出年份和月份来构造一个Data类的对象,因为构造函数中参数名称和私有变量的名称

    相同,为了在构造函数中使用私有变量year,必须加上 this指针,所以空(2)应填上this->year。
    函数CaculateDays用宋计算某一年某个月的天数,不论是否是闰年,除2月份以外,所有的大月都是31天,小月都是30天;如果是闰年,2

    月份是29天,否则是28天。根据分析,空(3)应填上m month用来判断月份是大月、小月或者二月,空(4)用来判断是否是闰年,调用函数

    IsLeapYear()即可得到结果。

  • 第2题:

    对长度为10的有序表进行折半查找,设在等概率时查找成功的平均查找长度是(46)。

    A.2.9

    B.3.1

    C.3.4

    D.2.6


    正确答案:A
    解析:各元素及其对应查找长度为:因此等概率时,查找成功的平均查找长度是:(3+2+3+4+1+3+4+2+3+4)/10=(1+2*2+3*4+4*3)/10=29/10=2.9。

  • 第3题:

    用折半查找法,对长度为12的有序的线性表进行查找,最坏情况下要进行()次元素间的比较。

    A4

    B3

    C5

    D6


    A

  • 第4题:

    画出对长度为10的有序表进行折半查找的判定树(以序号1,2,……10表示树结点),并对上述序列进行折半查找,求等概率条件下,成功查找的平均查找长度。
    (1)

    (2)ASL=(1x1+2x2+3x4+4x3)/10=29/10

  • 第5题:

    下面关于折半查找法的叙述中,正确的是()。

    • A、只要线性表中元素按值有序排列,就可以采用折半查找
    • B、只要线性表采用顺序存储结构,就可以采用折半查找
    • C、线性表中元素按值有序排列,并且采用顺序存储结构时才能采用折半查找
    • D、在链表中也可以采用折半查找

    正确答案:C

  • 第6题:

    具有12个关键字的有序表,折半查找的平均查找长度为()

    • A、3.1
    • B、4
    • C、2.5
    • D、5

    正确答案:A

  • 第7题:

    有一个长度为8的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()

    • A、22/8
    • B、20/8
    • C、23/8
    • D、21/8

    正确答案:D

  • 第8题:

    用折半查找法,对长度为12的有序的线性表进行查找,最坏情况下要进行()次元素间的比较。

    • A、4
    • B、3
    • C、5
    • D、6

    正确答案:A

  • 第9题:

    填空题
    长度为12的有序表采用顺序存储结构,采用折半查找技术,在等概率情况下,查找成功时的平均查找长度是(),查找失败时的平均查找长度是()。

    正确答案: 37/12,62/13
    解析: 暂无解析

  • 第10题:

    单选题
    有一个长度为7的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()
    A

    17/7

    B

    18/7

    C

    21/7

    D

    20/7


    正确答案: D
    解析: 暂无解析

  • 第11题:

    填空题
    长度为20的有序表采用折半查找,共有()个元素的查找长度为3。

    正确答案: 4
    解析: 暂无解析

  • 第12题:

    单选题
    具有12个关键字的有序表,折半查找的平均查找长度为()
    A

    3.1

    B

    4

    C

    2.5

    D

    5


    正确答案: C
    解析: 暂无解析

  • 第13题:

    阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

    【说明】

    下面程序的功能是计算并输出某年某月的天数,函数IsLeap Year()能够判断是否是闰年。

    【C++程序】

    include < iostream >

    using namespace std;

    (1) Month {Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };

    class Date {

    public:

    Date( int year, Month m_ month) {

    this→year = year;

    if( (2) ) month: Jan;

    else month = m_ month;

    };

    ~Date(){};

    bool IsLeap Year( ) {

    return ((year%4= =0 &&year% 100 ! =0)|| year%400= =0);

    };

    int CaculateDays( ) {

    switch(m_month ) {

    case (3) ;{

    if (4) return 29;

    else return 28;

    }

    case Jan: case Mar: case May: case Jul: case Aug: case Oct: case Dec: return 31;

    case Apr: case Jun: case Sop: case Nov: return 30;

    }

    }

    private:

    int year;

    Month month;

    };

    void main( ) {

    Date day(2000,Feb);

    cout < <day. (5) ( );

    }


    正确答案:(1)enum
    (1)enum 解析:枚举类型变量month定义,这里填入enum。

  • 第14题:

    有一个长度为12的有序表,按二分查找法对该表进行查找,在表内各元素等概率情况下,查找成功所需的平均比较次数为()。

    A.37/12
    B.35/12
    C.39/12
    D.43/12

    答案:A
    解析:
    用二分法查找有序表,相当于在一个完全二叉树中查找元素,查找成功的比较次数相当于到查找结点的路径长度加1。12个结点的完全二叉树前三层是满二叉树,第四层有5个结点。整棵树的查找次数总和为:1+22+4×3+5×4=37。查找某个元素的概率是37/12。

  • 第15题:

    有一个长度为12的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。

    A37/12

    B39/12

    C41/12

    D35/12


    A

  • 第16题:

    有一个长度为12的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。

    • A、37/12
    • B、39/12
    • C、41/12
    • D、35/12

    正确答案:A

  • 第17题:

    长度为20的有序表采用折半查找,共有()个元素的查找长度为3。


    正确答案:4

  • 第18题:

    假定对长度n=50的有序表进行折半查找,则对应的判定树高度为(),最后一层的结点数为()。


    正确答案:6;19

  • 第19题:

    长度为12的有序表采用顺序存储结构,采用折半查找技术,在等概率情况下,查找成功时的平均查找长度是(),查找失败时的平均查找长度是()。


    正确答案:37/12;62/13

  • 第20题:

    下列英文的缩写及对应的中文正确的是()。

    • A、January(Jan一月) bruary(bru二月) March(Mar三月)
    • B、April(Apr四月) May(May五月) June(Jun六月)
    • C、July(Jul七月) August(Aug八月) September(Sep九月)
    • D、October(Oct十月) November(Nov十一月) December(Dec十二月)

    正确答案:B,C,D

  • 第21题:

    单选题
    用折半查找法,对长度为12的有序的线性表进行查找,最坏情况下要进行()次元素间的比较。
    A

    4

    B

    3

    C

    5

    D

    6


    正确答案: A
    解析: 暂无解析

  • 第22题:

    单选题
    有一个长度为12的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()。
    A

    37/12

    B

    39/12

    C

    41/12

    D

    35/12


    正确答案: D
    解析: 暂无解析

  • 第23题:

    单选题
    下面关于折半查找法的叙述中,正确的是()。
    A

    只要线性表中元素按值有序排列,就可以采用折半查找

    B

    只要线性表采用顺序存储结构,就可以采用折半查找

    C

    线性表中元素按值有序排列,并且采用顺序存储结构时才能采用折半查找

    D

    在链表中也可以采用折半查找


    正确答案: B
    解析: 暂无解析