itgle.com
更多“若希望以O(1)的时间复杂度找到当前结点的前驱,则链表最好采用()。”相关问题
  • 第1题:

    ● 单向链表中往往含有一个头结点,该结点不存储数据元素,一般令链表的头指针指向该结点,而该结点指针域的值为第一个元素结点的指针。以下关于单链表头结点的叙述中,错误的是 (60) 。

    (60)A. 若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)

    B. 在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理

    C. 加入头结点后,代表链表的头指针不因为链表为空而改变

    D. 加入头结点后,在链表中进行查找运算的时间复杂度为O(1)


    正确答案:D
    试题(60)分析
      本题考查数据结构基础知识。
      含有头结点的单链表如下图所示

      在链表中加入头结点后,查找表中某一元素仍然要从头指针出发,顺序找到目标元素或失败时找到表尾为止,时间复杂度与表长成正比。

  • 第2题:

    单向链表中往往含有一个头结点,该结点不存储数据元素,一般令链表的头指针指向该结点,而该结点指针域的值为第一个元素结点的指针。以下关于单链表头结点的叙述中,错误的是( )。

    A.若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)

    B.在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理

    C.加入头结点后,代表链表的头指针不因为链表为空而改变

    D.加入头结点后,在链表中进行查找运算的时问复杂度为O(1)


    正确答案:D
    解析:链表查找最常规的做法是从链表的头结点开始,顺序查找结点。由于需要顺序查找,时问复杂度自然就是O(n)了。

  • 第3题:

    在具有n个结点的单链表上查找值为y的元素时,其时间复杂度为()。

    A、O(n)

    B、O(1)

    C、O(n2)

    D、O(n-1)


    参考答案:A

  • 第4题:

    已知一个长度为n的单链表中的所有结点是有序(递增)的,以下叙述中正确的是()。

    A.插入一个结点使之有序的算法的时间复杂度为O(1)

    B.删除最大值结点使之有序的算法的时间复杂度为O(1)

    C.找最小值结点的算法的时间复杂度为O(1)

    D.以上都不对


    参考答案:C

  • 第5题:

    ● 有n个结点的有序单链表中插入一个新结点并保持有序的运算的时间复杂度为( )。

    A. O(1)

    B. O(logn)

    C. O(n)

    D. O(n2)


    正确答案:C

  • 第6题:

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

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

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

  • 第7题:

    求循环链表中当前结点的后继和前驱的时间复杂度分别是()。

    • A、O(n)和O(1)
    • B、O(1)和O(1)
    • C、O(1)和O(n)
    • D、O(n)和O(n)

    正确答案:C

  • 第8题:

    在单链表中,若给定某个结点的指针,要删除该结点的后继结点的时间复杂度为()。


    正确答案:O(1)

  • 第9题:

    数据结构里,单链表中删除p指针指向结点的后继(假设存在)的时间复杂度是()。

    • A、O(1)
    • B、O(n)
    • C、O(nn)
    • D、以上都不对

    正确答案:A

  • 第10题:

    在单链表、双链表和单循环表中,若仅知道指针p指向某结点,不知道头指针,能否将结点*p从相应的链表中删去?若可以,其时间复杂度各为多少?


    正确答案:1.单链表。当我们知道指针p指向某结点时,能够根据该指针找到其直接后继,但是由于不知道其头指针,所以无法访问到p指针指向的结点的直接前趋。因此无法删去该结点。
    2.双链表。由于这样的链表提供双向链接,因此根据已知结点可以查找到其直接前趋和直接后继,从而可以删除该结点。其时间复杂度为O(1)。
    3.单循环链表。根据已知结点位置,我们可以直接得到其后相邻的结点位置(直接后继),又因为是循环链表,所以我们可以通过查找,得到p结点的直接前趋。因此可以删去p所指结点。其时间复杂度应为O(n)。

  • 第11题:

    填空题
    在单链表中,若给定某个结点的指针,要删除该结点的后继结点的时间复杂度为()。

    正确答案: O(1)
    解析: 暂无解析

  • 第12题:

    填空题
    在单链表中,若给定某个结点的数据信息,要删除该结点的后继结点的时间复杂度为()。

    正确答案: O(n)
    解析: 暂无解析

  • 第13题:

    ●在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是 (53) 。

    (53) A.O(1)

    B.O(n)

    C.O(nlogn)

    D.O(n2)


    正确答案:B

    【解析】本题主要考核有序单链表上的插入操作及算法分析。对数据结构的任何操作都不能改变其原有的结构特性。因此,在有序单链表中插入一个新结点后,仍然要保持它的有序性。
    插入操作的关键是查找插入位置,主要时间也是花在插入位置的查找上。n个结点的单链表,有,n+1个可能插入的位置,即第一个结点之前和每一个结点之后。在第一个结点之前插入,需比较一次;在第一个结点之后插入需比较两次;…;在第,n个结点之后插入需查找次。如果在每一个位置上作插入的概率相等,即 ,则在有序单链表上查找插入位置的平均比较次数为:


     

  • 第14题:

    创建一个包括n个结点的有序单链表的时间复杂度是()。

    A.O(1)

    B、O(n)

    C、O(n2)

    D、O(nlog2n)


    参考答案:C
    解释:单链表创建的时间复杂度是O(n),而要建立一个有序的单链表,则每生成一个新结点时需要和已有的结点进行比较,确定合适的插入位置,所以时间复杂度是O(n2)。

  • 第15题:

    在一个具有n个结点的有序单链表中插入一个新结点并保持该表有序的时间复杂度是()。

    A、O(1)

    B、O(n)

    C、O(n的平方)

    D、O(log2n)


    参考答案:B

  • 第16题:

    在具有n个结点的有序单链表中插入一个新结点并使链表仍然有序的时间复杂度是(53)。

    A.O(1)

    B.O(n)

    C.O(nlogn)

    D.O(n2)


    正确答案:B
    解析:本题主要考核有序单链表上的插入操作及算法分析。对数据结构的任何操作都不能改变其原有的结构特性。因此,在有序单链表中插入一个新结点后,仍然要保持它的有序性。插入操作的关键是查找插入位置,主要时间也是花在插入位置的查找上。n个结点的单链表,有,n+1个可能插入的位置,即第一个结点之前和每一个结点之后。在第一个结点之前插入,需比较一次;在第一个结点之后插入需比较两次;……;在第,n个结点之后插入需查找次。如果在每一个位罩上作插入的概率相等,即则在有序单链表上查找插入位置的平均比较次数为:

  • 第17题:

    在单项链表中删除一个指定结点的后继的时间复杂度为 ______。

    A.O(n)

    B.O(nlog2n)

    C.O(1)

    D.


    正确答案:A

  • 第18题:

    在n个结点的单链表中要删除已知结点*p,需找到它的(),其时间复杂度为()。


    正确答案:前驱结点的地址 O(n)

  • 第19题:

    在单链表中,若给定某个结点的数据信息,要删除该结点的后继结点的时间复杂度为()。


    正确答案:O(n)

  • 第20题:

    在具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是()。

    • A、O(1)
    • B、O(n)
    • C、O(n2)
    • D、O(nlog2n)

    正确答案:B

  • 第21题:

    单链表中删除p指针指向结点的后继(假设存在)的时间复杂度是()。

    • A、O(1)
    • B、O(n)
    • C、O(nn)
    • D、以上都不对

    正确答案:A

  • 第22题:

    在一个单链表中,若要在p所指向的结点之前插入一个新结点,则此算法的时间复杂度的量级为()。

    • A、O(n)
    • B、O(n/2)
    • C、O(1)
    • D、O(n1/2

    正确答案:A

  • 第23题:

    单选题
    求循环链表中当前结点的后继和前驱的时间复杂度分别是()。
    A

    O(n)和O(1)

    B

    O(1)和O(1)

    C

    O(1)和O(n)

    D

    O(n)和O(n)


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

  • 第24题:

    填空题
    在n个结点的单链表中要删除已知结点*p,需找到它的(),其时间复杂度为()。

    正确答案: 前驱结点的地址 O(n)
    解析: 暂无解析