更多“将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度是:”相关问题
  • 第1题:

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

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

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

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

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


    正确答案:B

  • 第2题:

    将长度为m的单链表连接在长度为n的单链表之后,单链表的长度为()。

    A、m+n

    B、m*n


    参考答案:A

  • 第3题:

    单链表插入操作的平均时间复杂度为()

    A、O(1)

    B、O(n)

    C、O(n*n)

    D、O(n*n*n)


    参考答案:B

  • 第4题:

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

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

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

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

    D.以上都不对


    参考答案:C

  • 第5题:

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

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

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

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

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


    参考答案:B

  • 第6题:

    设表的长度为n。在下列结构所对应的算法中,最坏情况下时间复杂度最低的是()

    A.堆排序

    B.有序链表查找

    C.希尔排

    D.循环链表中寻找最大项


    正确答案:D

  • 第7题:

    将长度为n的单链表接在长度为m的单链表之后的算法时间复杂度为()。

    A.O(n)
    B.0(1)
    C.O(m)
    D.O(m+n)

    答案:C
    解析:
    要将长度为n的单链表接在长度为m的单链表之后,必须从单链表的头结点沿链找到长度为m的单链表的最后一个结点,所以时间复杂度为O(m)。

  • 第8题:

    设一个有序的单链表中有n个节点,现要求插入一个新节点后使得单链表仍然保持有序,则该操作的时间复杂度为()。


    答案:C
    解析:
    对单链表进行插入节点的操作,就是对单链表进行查找,找到节点需要插入的位置,然后修改指针,将节点插入单链表。

  • 第9题:

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

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

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

  • 第10题:

    以顺序查找方法从长度为n的顺序表或单链表中查找一个元素时,平均查找长度为(),时间复杂度为()


    正确答案:(n+1)/2;O(n)

  • 第11题:

    编写算法,将一个头指针为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)。

  • 第12题:

    填空题
    以顺序查找方法从长度为n的顺序表或单链表中查找一个元素时,平均查找长度为(),时间复杂度为()

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

  • 第13题:

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

    A、O(nlog2n)

    B、O(1)

    C、O(n)

    D、O(n2)


    参考答案:B

  • 第14题:

    在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度是O。

    A.求链表的第i个结点

    B.在地址为P的结点之后插入一个结点

    C.删除表头结点

    D.删除地址为P的结点的后继结点


    正确答案:A

  • 第15题:

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

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

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

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

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


    参考答案:A

  • 第16题:

    将长度为n的单链表链接到长度为m的单链表之后的算法的时间复杂度是()。

    A.O(1)

    B.O(n)

    C.O(m)

    D.O(m+n)


    参考答案:C

  • 第17题:

    设A和B是两个单链表,其表中元素有序递增。请分析算法的时间复杂度。其时间复杂度为(40)。

    A.O(re+n-1)

    B.(m+n+1)

    C.O(m+n)

    D.不确定


    正确答案:C
    解析:设A表和B表的长度分别为m和n,则该算法的时间复杂度为O(m+n)。

  • 第18题:

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

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

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

  • 第19题:

    在具有n个结点的单链表中,实现()的操作,其算法的时间复杂度都是O(n)。

    A.遍历链表和求链表的第i个结点
    B.在地址为P的结点之后插入一个结点
    C.删除开始结点
    D.删除地址为P的结点的后继结点

    答案:A
    解析:
    A项,由于单链表是非随机存取的存储结构,遍历链表和求链表的第i个结点都必须从头指针出发寻找,其时间复杂度为0(n);B项,由于已知待插入结点的前驱结点,可以直接实现插入,其时间复杂度为0(1);CD两项,可以直接实现删除操作,其时间复杂度为O(1)。

  • 第20题:

    建立一个长度为n的有序单链表的时间复杂度为()


    答案:C
    解析:
    建立有序单链表的时间复杂度是O(n),对单链表插入节点时,先遍历单链表,找到插入位置,将节点插入。

  • 第21题:

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


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

  • 第22题:

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

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

    正确答案:B

  • 第23题:

    单选题
    将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为()。
    A

    O(1)

    B

    O(n)

    C

    O(m)

    D

    O(m+n)


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

  • 第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)。
    解析: 暂无解析