更多“在带头指针的长度为n的双向循环链表的末尾插入一个元素,其时间复杂度为O()。(填写阿拉伯数字或字母)”相关问题
  • 第1题:

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

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

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

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

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


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

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

  • 第2题:

    采用顺序存储结构,长度为n的单链表,在其第j个位置删除一个新元素算法的时间复杂度()。

    A、O(nlog2n)

    B、O(1)

    C、O(n)

    D、O(n2)


    参考答案:B

  • 第3题:

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

    A.只有表头指针的不带表头结点的循环单链表

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

    C.只有表尾指针的带表头结点的循环单链表

    D.只有表头指针的带表头结点的循环单链表


    参考答案:A

  • 第4题:

    在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为

    A.O(n)

    B.O

    C.O(n2)

    D.O(log2n)


    正确答案:B
    解析:在一个长度为n的顺序表的表尾插入一个新元素不需要进行结点移动,直接插入即可。对应的渐进时间复杂度为O。

  • 第5题:

    设长度为n的链队列用单循环链表表示,若只设头指针,则入队操作的时间复杂度为_______。

    A.O(1)

    B.O(log2n)

    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题:

    对于一个单链表,在表头插入结点的时间复杂度为()在表尾插入元素的时间复杂度为()。


    正确答案:O(1);O(n)

  • 第8题:

    一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。


    正确答案:O(1);O(n)

  • 第9题:

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

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

    正确答案:B

  • 第10题:

    设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。

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

    正确答案:D

  • 第11题:

    填空题
    对于一个长度为n的单链接存储的线性表,在表头插入元素的时间复杂度为(),在表尾插入元素的时间复杂度为()。

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

  • 第12题:

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

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

    B

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

    C

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

    D

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


    正确答案: D
    解析:

  • 第13题:

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

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

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

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

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


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

  • 第14题:

    对于一个长度为n的顺序存储的线性表,在表尾插入元素的时间复杂度为()

    A、O(n)

    B、O(n*n)

    C、O(1)

    D、O(0)


    参考答案:C

  • 第15题:

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

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

    B.删除单链表中的尾结点

    C.在单链表的第一个元素前插入一个新结点

    D.在单链表的最后一个元素后插入一个新结点


    参考答案:B

  • 第16题:

    在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为

    A.O(n)

    B.O(1)

    C.O(n2)

    D.O(log2n)


    正确答案:B
    解析:在一个长度为n的顺序表的表尾插入一个新元素不需要进行节点移动,直接插入即可。对应的渐进时间复杂度为O(1) 。

  • 第17题:

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

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

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

  • 第18题:

    单链表中在p指针后插入元素的时间复杂度是()。

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

    正确答案:A

  • 第19题:

    对于一个长度为n的单链接存储的线性表,在表头插入元素的时间复杂度为(),在表尾插入元素的时间复杂度为()。


    正确答案:O(1);O(n)

  • 第20题:

    对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为(),在表尾插入元素的时间复杂度为()


    正确答案:O(n);O(1)

  • 第21题:

    编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。


    正确答案: voidlinklist_c(Lnode*heaD.
    {Lnode*p;p=head;
    if(!p)returnERROR;
    while(p->next!=NULL)
    p=p->next;
    p->next=head;
    }
    设单链表的长度(数据结点数)为N,则该算法的时间主要花费在查找链表最后一个结点上(算法中的while循环),所以该算法的时间复杂度为O(N)。

  • 第22题:

    单选题
    设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用()最节省时间。
    A

    单链表

    B

    单循环链表

    C

    带尾指针的单循环链表

    D

    带头结点的双循环链表


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

  • 第23题:

    填空题
    对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为(),在表尾插入元素的时间复杂度为()

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

  • 第24题:

    问答题
    编写算法,将一个头指针为head不带头结点的单链表改造为一个单向循环链表,并分析算法的时间复杂度。

    正确答案: voidlinklist_c(Lnode*heaD.
    {Lnode*p;p=head;
    if(!p)returnERROR;
    while(p->next!=NULL)
    p=p->next;
    p->next=head;
    }
    设单链表的长度(数据结点数)为N,则该算法的时间主要花费在查找链表最后一个结点上(算法中的while循环),所以该算法的时间复杂度为O(N)。
    解析: 暂无解析