参考答案和解析
正确答案:快速排序;堆排序;希尔排序
更多“在单链表上难以实现的排序方法有()、()和 ()。”相关问题
  • 第1题:

    在单链表上难以实现的排序方法有希尔排序、【 】和堆排序。


    正确答案:快速排序
    快速排序 解析:在单链表上难以实现的排序方法有希尔排序、快速排序和堆排序。因为这三种排序方法均适合完成顺序结构的排序,可随机访问其中的元素。而单链表属于动态的数据结构,访问元素要通过指针来实现。

  • 第2题:

    已知一个单链表中有3000个结点,每个结点存放一个整数,( )可用于解决这3000个整数的排序问题且不需要对算法作大的变动。

    A.直接插入排序方法

    B.简单选择排序方法

    C.快速排序方法

    D.堆排序方法


    正确答案:D

  • 第3题:

    在一个长度为n(n>1)的带头结点单链表h上,另设有尾指针r(指向尾结点)。与链表的长度有关的操作是()。

    A.删除单链表中的第一个元素
    B.删除单链表中的最后一个元素
    C.在单链表第一个元素前插入一个新元素
    D.在单链表最后一个元素后插入一个新元素

    答案:B
    解析:
    在单链表中要删除最后一个元素必须找到尾结点的前驱结点的指针。由于单链表只能访问结点的下一个结点,所以根据尾指针不能够直接找到它的前驱结点,只有从头开始依次向下找到尾结点的前驱结点。所以删除单链表中的最后一个元素与链表的长度有关。

  • 第4题:

    在长度为n(Il>1)的()上,删除第一个元素.其时间复杂度为O(n)。

    A.只有首结点指针的不带头结点的循环单链表
    B.只有尾结点指针的不带头结点的循环单链表
    C.只有尾结点指针的带头结点的循环单链表
    D.只有头结点的循环单链表

    答案:A
    解析:
    只有首结点指针的不带头结点的循环单链表删除第一个元素,需要遍历整个链表,因此A项的时间复杂度为O(n),BCD三项的时间复杂度都为O(1)。

  • 第5题:

    在直接插入、冒泡、快速排序和简单选择排序方法中,具有稳定性的排序方法有()


    正确答案:直接插入排序和冒泡排序

  • 第6题:

    广义表的表示方法主要有:单链表示法和循环链表表示法。


    正确答案:错误

  • 第7题:

    在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。

    • A、删除单链表中的第一个元素
    • B、删除单链表中的最后一个元素
    • C、在单链表第一个元素前插入一个新元素
    • D、在单链表最后一个元素后插入一个新元素

    正确答案:B

  • 第8题:

    在直接插入排序、希尔排序、起泡排序、快速排序中稳定的排序方法有()和()


    正确答案:直接插入;起泡

  • 第9题:

    填空题
    在单链表上难以实现的排序方法有()、()和 ()。

    正确答案: 快速排序,堆排序,希尔排序
    解析: 暂无解析

  • 第10题:

    判断题
    广义表的表示方法主要有:单链表示法和循环链表表示法。
    A

    B


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

  • 第11题:

    填空题
    在以HL为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为()和()。

    正确答案: HL->next==NULL,HL->next==HL
    解析: 暂无解析

  • 第12题:

    单选题
    若链表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方法最节省运算时间。
    A

    单链表

    B

    循环双链表

    C

    单循环链表

    D

    带尾指针的单循环链表


    正确答案: A
    解析: 在链表中的最后一个结点之后插入一个结点需要知道终端结点的地址,所以,单链表、单循环链表都不合适,删除最后一个结点需要知道终端结点的前驱结点的地址,所以,带尾指针的单循环链表不合适,而循环双链表满足条件。

  • 第13题:

    用二分法插入排序方法进行排序,被排序的表(或序列)应采用的数据结构是______。

    A.单链表

    B.数组

    C.双向链表

    D.散列表


    正确答案:B
    解析:二分法插入排序只能采用顺序存储,算法是稳定的。而4个答案中只有数组才是顺序存储。

  • 第14题:

    阅读以下说明和C语言函数,将解答填入答题纸的对应栏内。【说明】函数sort (NODE *head)的功能是:用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图(a)的链表进行一趟冒泡排序后,得到图(b)所示的链表。




    答案:
    解析:
    (1) ptr->next(2) head->next(3) ptr!=endptr,或其等价形式⑷ptr(5) preptr

  • 第15题:

    以下各种存储结构中,最适合用作链队的链表是()。

    A.带队首指针和队尾指针的循环单链表
    B.带队首指针和队尾指针的非循环单链表
    C.只带队首指针的非循环单链表
    D.只带队首指针的循环单链表

    答案:B
    解析:
    因为队列的入队和出队操作都在端点进行。即在队首和队尾进行。所以带队首指针和队尾指针的非循环单链表最适合用作链队的链表。

  • 第16题:

    在以HL为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为()和()。


    正确答案:HL->next==NULL;HL->next==HL

  • 第17题:

    若链表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方法最节省运算时间。

    • A、单链表
    • B、循环双链表
    • C、单循环链表
    • D、带尾指针的单循环链表

    正确答案:B

  • 第18题:

    链队列实际上是一个同时带有头指针和尾指针的单链表,尾指针指向该单链表的()。


    正确答案:最后一个结点

  • 第19题:

    若链表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则采用()存储方法最节省时间。

    • A、单链表
    • B、带头指针的单循环链表
    • C、双链表
    • D、带尾指针的单循环链表

    正确答案:D

  • 第20题:

    在直接插入、快速排序和简单选择排序方法中,不具有稳定性的排序方法有()


    正确答案:快速排序和简单选择排序

  • 第21题:

    单选题
    若链表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则采用()存储方法最节省时间。
    A

    单链表

    B

    带头指针的单循环链表

    C

    双链表

    D

    带尾指针的单循环链表


    正确答案: D
    解析: 在链表中的最后一个结点之后插入一个结点需要知道终端结点的地址,所以,单链表、带头指针的单循环链表、双链表都不合适,考虑在带尾指针的单循环链表中删除第一个结点,其时间性能是O(1),所以,答案是D。

  • 第22题:

    填空题
    链队列实际上是一个同时带有头指针和尾指针的单链表,尾指针指向该单链表的()。

    正确答案: 最后一个结点
    解析: 暂无解析

  • 第23题:

    单选题
    在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。
    A

    删除单链表中的第一个元素

    B

    删除单链表中的最后一个元素

    C

    在单链表第一个元素前插入一个新元素

    D

    在单链表最后一个元素后插入一个新元素


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