如果对含有n(n>1)个元素的线性表的运算只有4种,即删除第一个元素、删除尾元素、在第一个元素前面插入新元素、在尾元素的后面插入新元素,则最好使用_______。A.只有尾节点指针没有头节点的循环单链表B.只有尾节点指针没有头节点的非循环双链表C.只有开始数据节点指针没有尾节点指针的循环双链表D.既有表头指针也有表尾指针的循环单链表

题目

如果对含有n(n>1)个元素的线性表的运算只有4种,即删除第一个元素、删除尾元素、在第一个元素前面插入新元素、在尾元素的后面插入新元素,则最好使用_______。

A.只有尾节点指针没有头节点的循环单链表

B.只有尾节点指针没有头节点的非循环双链表

C.只有开始数据节点指针没有尾节点指针的循环双链表

D.既有表头指针也有表尾指针的循环单链表


相似考题
参考答案和解析
只有开始数据节点指针没有尾节点指针的循环双链表
更多“如果对含有n(n>1)个元素的线性表的运算只有4种,即删除第一个元素、删除尾元素、在第一个元素前面插入新元素、在尾元素的后面插入新元素,则最好使用_______。”相关问题
  • 第1题:

    以下哪一个不是队的基本运算?( )

    A)从队列中删除第i个元素

    B)从队尾插入一个新元素

    C)将队列置为空队列

    D)读取队头元素的值


    正确答案:A
    队列的基本运算有五种:插入元素、删除元素、读队头元素、判断是否为空队列和将队列置为空队列。队列只能在队尾插入元素,从队头删除元素,这就是所谓的“先进先出”,而不能从队列中间删除或插入元素。故选项A)是错误的。

  • 第2题:

    在下列对单链表进行的操作中,算法时间复杂度为O(n)的是()。

    A、访问第i个元素的前驱(1

    B、在第i个元素之后插入一个新元素(1≤i≤n)

    C、删除第i个元素(1≤i≤n)

    D、对表中元素进行排序


    参考答案:A

  • 第3题:

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

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

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

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

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


    参考答案:B

  • 第4题:

    下列_________不是队列的基本运算。

    A.从队尾插入一个新元素

    B.从队列中删除第i个元素

    C.判断一个队列是否为空

    D.读取队头元素的值


    正确答案:B
    解析:队列是限定所有的插入都在表的一端进行,所有的删除都在表的另一端进行的线性表。进行删除的一端叫队列的头,进行插入的一端叫队列的尾。

  • 第5题:

    在一个有n个元素的顺序表的第i个元素(1≤i≤n)之前插入一个新元素时,需要向后移动【 】元素。


    正确答案:n-i+1
    n-i+1 解析:在一般情况下,要在第i个元素之前插入一个新元素时,首先是从最后一个元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置。

  • 第6题:

    对具有n个元素的顺序表(采用顺序存储的线性表)进行( ) 操作,其耗时与n的大小无关。

    A.在第i(1≤i≤n)个元素之后插入一个新元素

    B.删除第i(1≤i≤n)个元素

    C.对顺序表中的元素进行排序

    D.访问第i(1≤i≤n)个元素的前驱和后继


    正确答案:D
    解析:线性表是随机读取的,所以参看某个元素与n无关。【总结与扩展】顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。将表中元素一个接一个地存入一组连续的存储单元中,这种存储结构是顺序结构。采用顺序存储结构的线性表简称为“顺序表”。顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到:L0c(ai)=LOC(ai)+(i-1)*L(1≤i≤n),其中,L是元素占用存储单元的长度。

  • 第7题:

    在长度为n的顺序存储线性表中,向第i个元素(1≤i≤n)之前插入一个新元素时,需要从后向前依次后移______个元素。

    A.n-i

    B.n-i+1

    C.n-i-1

    D.i


    正确答案:B

  • 第8题:

    含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是( )。

    A.访问第i个元素(1≤i≤n)
    B.删除第i个元素(1≤i≤n)
    C.在第i个元素(1≤i≤n)之后插入一个新元素
    D.查找与特定值相匹配的元素

    答案:A
    解析:
    本题考查数据结构基础知识。
    线性表(a1,a2,…,an)采用顺序存储方式如下图所示,其逻辑上相邻的元素物理位置也是相邻的,因此,按照序号访问元素的速度是很快的。

    访问第i个元素(1≤i≤n)的元素,仅需计算出ai的存储位置再进行内存的随机访问操作即可,以LOC(a1)表示线性表中第一个元素的存储位置,L表示每个元素所占存储单元的个数,则计算LOC(ai)的方式如下:
    LOC(ai)=LOC(a1)+(i-1)×L
    再分析其他运算,不在表尾插入或删除时就需要移动其他元素,这是比较耗时的。查找与特定值相匹配的元素时,需要经过一个与表中多个元素进行比较的过程,相对于随机访问第i个元素,消耗更多时间。

  • 第9题:

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

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

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

  • 第10题:

    在一个长度为n的顺序存储结构的线性表中,向第i(1£i£n+1)个元素之前插入新元素时,需向后移动()个数据元素。
    n-i+1

  • 第11题:

    以下()不是队列的基本运算

    • A、从队尾插入一个新元素
    • B、从队列中删除第i个元素
    • C、判断一个队列是否为空
    • D、读取队头元素的值

    正确答案:B

  • 第12题:

    如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用()。

    • A、只有表头指针没有表尾指针的循环单链表
    • B、只有表尾指针没有表头指针的循环单链表
    • C、非循环双链表
    • D、循环双链表

    正确答案:B

  • 第13题:

    如果对线性表的运算只有4种,即删除第一个元素,删除最后一个元素,在第一个元素面前插入新元素,在最后一个元素的后面插入新元素,则最好使用( )。

    A.只有表尾指针没有表头指针的循环单链表

    B.只有表尾指针没有表头指针的非循环双链表

    C.只有表头指针没有表尾指针的循环双链表

    D.既有表头指针也有表尾指针的循环单链表


    正确答案:C

  • 第14题:

    在一个长度为n的顺序存储结构的线性表中,向第i(1£i£n+1)个元素之前插入新元素时,需向后移动回答()个数据元素。


    参考答案:n-i+1

  • 第15题:

    某线性表最常用的运算是插入和删除,插入运算是指在表尾插入一个新元素。删除运算是指删除表头第一个元素,那么采用 ______ 存储方式最节省运算时间

    A.仅有尾指针的单向循环链表

    B.仅有头指针的单向循环链表

    C.单向链表

    D.顺序存储


    正确答案:A
    解析:由于规定了插入运算是在表尾插入一个新元素,删除运算是指删除表头第一个元素。如果使用单向链表、仅有头指针的单向循环链表,每次插入结点都要遍历整个链表,找到链尾,才能进行插入。如果采用顺序存储,每次删除表头元素时,都要移动n-1个元素。如果使用仅有尾指针的单向循环链表,插入新元素时,仅需移动尾指针就可以了:删除结点时,只需要一步操作就可以定位到头结点,就可以删除了,因为头结点是尾指针的下一个结点。

  • 第16题:

    设线性表中有2n个元素,算法( ),在单链表上实现要比在顺序表上实现效率更高。

    A.删除所有值为x的元素

    B.在最后一个匀速的后面插入一个新元素

    C.顺序输出前k个元素

    D.交换第i个元素和第2n-i-1个元素的值(i=0,1,…,n-1)


    正确答案:A

  • 第17题:

    不问的存储结构适用于不同的应用场合。某线性表最常用的运算是插入和删除,删除运算是指删除表头第一个元素,插入运算是指在表尾插入一个新元素,那么采用(105)存储方式最好。

    A.仅有头指针的单向循环链表

    B.仅有尾指针的单向循环链表

    C.单向链表

    D.双向链表


    正确答案:A
    解析:插入元素时需要遍历链表的数据结构是:仅有头指针的单向循环链表、单向链表、双向链表,时间复杂度为O(n)。但仅有尾指针的单向循环链表插入和删除的时间复杂度都为O(1),因此使用它最好。

  • 第18题:

    若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是( )。

    A.查找与给定值相匹配的元素的位置B.查找并返回第i个元素的值(1≤i≤n)C.删除第i个元素(1≤i≤n)D.在第i个元素(1≤i≤n )之前插入一个新元素


    正确答案:B

  • 第19题:

    含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是(36)。

    A.访问第i个元素(l<i≤n)

    B.删除第i个元素(1≤j≤n)

    C.在第i个元素(1≤i≤n)之后插入一个新元素

    D.查找与特定值相匹配的元素


    正确答案:A
    本题考查数据结构基础知识。线性表(a1,a2,a3.......an)采用顺序存储方式如下图所示,其逻辑上相邻的元素物理位置也是相邻的,因此,按照序号访问元素的速度是很快的。访问第i个元素(1≤i≤n)的元素,仅需计算出a1的存储位置再进行内存的随机访问操作即可,以LOC(a1)表示线性表中第一个元素的存储位置,L表示每个元素所占存储单元的个数,则计算LOC(a1)的方式如下:LOC(a1)=LOC(a1)+(i-I)×L再分析其他运算,不在表尾插入或删除时就需要移动其他元素,这是比较耗时的。查找与特定值相匹配的元素时,需要经过一个与表中多个元素进行比较的过程,相对于随机访问第i个元素,消耗更多时间。

  • 第20题:

    若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是(37)。

    A.查找与给定值相匹配的元素的位置
    B.查找并返回第i个元素的值(1≤i≤n)
    C. 删除第i个元素(1≤i≤n)
    D.在第i个元素(1≤i≤n)之前插入一个新元素

    答案:B
    解析:
    本题考查数据结构基础知识。
    线性表(a1,a2,…,an)采用顺序存储时占用一段地址连续的存储单元,元素之间没有空闲单元,如下图所示。在这种存储方式下,插入和删除元素都需要移动一部分元素,这是比较耗时的操作。按照序号来查找元素,实际上是直接计算出元素的存储位置,例如,第i个元素ai的存储位置为LOC(ai)=LOC(a1)+(i-1)×L,其中L是每个元素所占用的存储单元数。按照值来查找元素时,需要与表中的部分元素进行比对,相对于按照序号来查找元素,需要更多的时间

  • 第21题:

    若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是
    ( )。

    A.查找与给定值相匹配的元素的位置
    B.查找并返回第i个元素的值(1≤i≤n)
    C.删除第i个元素(1≤iD.在第i个元素(1≤i≤n)之前插入一个新元素

    答案:B
    解析:
    在线性表中插入和删除元素都需要修改前驱和后继的指针。查找并返回第i个元素的值,这个只要找到该位置读取即可。查找与给定值相匹配的元素的位置,先读取第一个元素再比较,依次类推直到找到该元素。

  • 第22题:

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

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

    正确答案:B

  • 第23题:

    下列哪一个不是队列的基本运算?()

    • A、从队尾插入一个新元素
    • B、判断一个队列是否为空
    • C、从队列中删除第i个元素
    • D、读取队头元素的值

    正确答案:C

  • 第24题:

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

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

    B

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

    C

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

    D

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


    正确答案: D
    解析: