数据结构——线性表

线性表题库

^^顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是( B )。
A.110 B.108 C.100 D.120

~~01|02|1|1
^^在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是( A)。
A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)
B.在第i个结点后插入一个新结点(1≤i≤n)
C.删除第i个结点(1≤i≤n)
D.将n个结点从小到大排序

~~01|02|1|1
^^向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动 的元素个数为( B )。
A.8 B.63.5 C.63 D.7

~~01|02|1|1
^^链接存储的存储结构所占存储空间(A )。
A.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
B.只有一部分,存放结点值
C.只有一部分,存储表示结点间关系的指针
D.分两部分,一部分存放结点值,另一部分存放结点所占单元数

~~01|02|1|1
^^线性表若采用链式存储结构时,要求内存中可用存储单元的地址( D )。
A.必须是连续的 B.部分地址必须是连续的
C.一定是不连续的 D.连续或不连续都可以

~~01|02|1|1
^^线性表L在( B )情况下适用于使用链式结构实现。
A.需经常修改L中的结点值 B.需不断对L进行删除插入
C.L中含有大量的结点 D.L中结点结构复杂

~~01|02|1|1
^^将两个各有n个元素的有序表归并成一个有序表,其最少的比较次数是( A )。
A.n B.2n-1 C.2n D.n-1

~~01|02|1|1
^^^^在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时须向后移动( B )个元素。
A.n-i B.n-i+1 C.n-i-1 D.I

~~01|02|1|1
^^线性表L=(a1,a2,……an),下列说法正确的是(D )。
A.每个元素都有一个直接前驱和一个直接后继
B.线性表中至少有一个元素
C.表中诸元素的排列必须是由小到大或由大到小
D.除第一个和最后一个元素外,其余每个元素都有一个且仅有一个直接前驱和直接后继。

~~01|02|1|1
^^以下说法错误的是( D )。
A.求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低
B.顺序存储的线性表可以随机存取
C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
D.线性表的链式存储结构优于顺序存储结构

~~01|02|1|1
^^在单链表中,要将s所指结点插入到p所指结点之后,其语句应为( D )。
A.s->next=p+1; p->next=s;
B.(*p).next=s; (*s).next=(*p).next;
C.s->next=p->next; p->next=s->next;
D.s->next=p->next; p->next=s;

~~01|02|1|1
^^在双向链表存储结构中,删除p所指的结点时须修改指针( A )。
A.p->next->prior=p->prior; p->prior->next=p->next;
B.p->next=p->next->next; p->next->prior=p;
C.p->prior->next=p; p->prior=p->prior->prior;
D.p->prior=p->next->next; p->next=p->prior->prior;

~~01|02|1|1
^^在双向循环链表中,在p指针所指的结点后插入q所指向的新结点,其修改指针的操作是( C )。
A.p->next=q; q->prior=p; p->next->prior=q; q->next=q;
B.p->next=q; p->next->prior=q; q->prior=p; q->next=p->next;
C.q->prior=p; q->next=p->next; p->next->prior=q; p->next=q;
D.q->prior=p; q->next=p->next; p->next=q; p->next->prior=q;

~~01|02|1|1
^^在循环双链表的p所指的结点之前插入s所指结点的操作是( D )。
A、p->prior = s;s->next = p;p->prior->next = s;s->prior = p->prior
B、p->prior = s;p->prior->next = s;s->next = p;s->prior = p->prior
C、s->next = p;s->prior = p->prior;p->prior = s;p->prior->next = s
D、s->prior = p->prior;p->prior->next = s; s->next = p; p->prior = s

~~01|02|1|1
^^链表不具备的特点是( A )。
A.可随机访问任一结点    B.插入删除不需要移动元素
C.不必事先估计存储空间   D.所需空间与其长度成正比
^^A
~~01|02|1|1
^^对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是 ( B )
A.headNULL B.head→nextNULL
C.head→next==head D.head!=NULL

~~01|02|1|1
^^若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用( D )存储方式最节省运算时间。
A.单链表  B.给出表头指针的单循环链表  
C.双链表  D.带头结点的双循环链表

~~01|02|1|1
^^需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是( B )。
A.单链表  B.静态链表  
C.线性链表   D.顺序存储结构

~~01|02|1|1
^^非空的循环单链表head的尾结点(由p所指向)满足( c )。
A.p->next == NULL    B.p == NULL
C.p->next ==head     D.p == head

~~01|02|1|1
^^如果最常用的操作是取第i个结点及其前驱,则采用( D )存储方式最节省时间。
A.单链表  B.双链表  
C.单循环链表   D.顺序表

~~01|02|1|1
^^在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是( B )。
A.O(1)  B.O(n)  
C.O(n2)   D.O(nlog2n)

~~01|02|1|1
^^在一个单链表中,若要在p所指向结点之后插入一个新结点,则此算法的时间复杂度为( A )。
A、O(n) B、O(n/2)
C、O(1) D、O(n2)

~~01|02|1|1
^^若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( C )。
A.O(0)   B.O(1)    
C.O(n)     D.O(n2)
^^C
~~01|02|1|1
^^^^在一个长度为n的顺序存储线性表中,删除第i个元素(1≤i≤n)时,需要从前向后依次前移( A )个元素。
A、n-i B、n-i+1
C、n-i-1 D、i

~~01|02|1|1
^^在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行( B )操作与链表的长度有关。
A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素
C.在单链表第一个元素前插入一个新元素
D.在单链表最后一个元素后插入一个新元素

~~01|02|1|1
^^与单链表相比,双链表的优点之一是D)s。
A.插入、删除操作更简单  B.可以进行随机访问
C.可以省略表头指针或表尾指针   D.顺序访问相邻结点更灵活

~~01|02|1|1
^^如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用( B)。
A.只有表头指针没有表尾指针的循环单链表
B.只有表尾指针没有表头指针的循环单链表
C.非循环双链表   D.循环双链表

~~01|02|1|1
^^对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( C )。
A.顺序表             B. 用头指针表示的循环单链表
C.用尾指针表示的循环单链表   D.单链表

~~01|02|1|1
^^下述哪一条是顺序存储结构的优点? ( C )。
A插入运算方便  B可方便地用于各种逻辑结构的存储表示
C存储密度大   D删除运算方便

~~01|02|1|1
^^下面关于线性表的叙述中,错误的是哪一个? ( B )。
A线性表采用顺序存储,必须占用一片连续的存储单元
B线性表采用顺序存储,便于进行插入和删除操作。
C线性表采用链式存储,不必占用一片连续的存储单元
D线性表采用链式存储,便于进行插入和删除操作。

~~01|02|1|1
^^线性表是具有n个( B )的有限序列。
A.字符   B.数据元素  
C.数据项     D.表元素

~~01|02|1|1
^^在n个结点的线性表的数组实现中,算法的时间复杂度是O(1)的操作是( A )。
A.访问第i(1<=i<=n)个结点和求第i个结点的直接前驱(1<i<=n)
B.在第i(1<=i<=n)个结点后插入一个新结点
C.删除第i(1<=i<=n)个结点
D.以上都不对

~~01|02|1|1
^^对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( C )。
A.O(n),O(n)  B.O(n), O(1)    
C.O(1), O(n)   D.O(1), O(1)

~~01|02|1|1
^^线性表(a1,a2, … ,an)以链式方式存储,访问第i位置元素的时间复杂度为( C )。
A.O(0)   B.O(1)    
C.O(n)     D.O(n2)

~~01|02|1|1
^^单链表中,增加一个头结点的目的是为了( C )。
A.使单链表至少有一个结点    B.标识表结点中首结点的位置
C.方面运算的实现        D.说明单链表是线性表的链式存储

~~01|02|1|1
^^线性表的顺序存储结构是一种( A )。
A.随机存取的存储结构      B.顺序存取的存储结构
C.索引存取的存储结构      D.Hash存取的存储结构

~~01|02|1|1
^^将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为( C )。
A.O(1) B.O(n)
C.O(m) D.O(m+n)

~~01|02|1|1
^^某线性表用带头结点的循环单链表存储,头指针为 head,当head->next->next=head 成立时,线性表长度可能是( A )。
A.1 B.2
C.3 D.4

~~01|02|1|1
^^设顺序表的长度为100,则在第40个元素之后插入一个元素所需移动元素的个数为( C )。
A.40 B.61
C.60 D.100

~~02|02|1|1
^^链表的每个结点中都恰好包含一个指针。(X )

~~02|02|1|1
^^链表的物理存储结构具有同链表一样的顺序。( X )

~~02|02|1|1
^^在一个长度为n的顺序表中插入第i个元素时,需向前移动n-i-1个元素。( X )

~~02|02|1|1
^^在单链表中,要删除某一指定的结点,必须找到该结点的后续结点。( X )

~~02|02|1|1
^^在循环链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向 后续结点 。( V )

~~02|02|1|1
^^当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表的元素是,应采用链式存储结构。( X )

~~02|02|1|1
^^若线性表很少进行存取操作,但元素插入和删除比较频繁,应采用链式存储结构。( V )

~~02|02|1|1
^^根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成单链表和循环链表。( X )

~~02|02|1|1
^^线性表的顺序存储结构是通过下标之间的顺序表示元素之间的关系的。( V )

~~02|02|1|1
^^链表的物理存储结构具有同链表一样的顺序。(X )

~~02|02|1|1
^^链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。( X )

~~02|02|1|1
^^线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。( X )

~~02|02|1|1
^^顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。( X )

~~02|02|1|1
^^链表结构适宜于进行顺序存取,而顺序表适宜于进行随机存取。( V )

~~02|02|1|1
^^顺序存储方式的优点是存储密度大,且插入、删除运算效率高。(X )

~~02|02|1|1
^^线性表在物理存储空间中也一定是连续的。( X )

~~02|02|2|1
^^线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。( X )

~~02|02|1|1
^^线性表在顺序存储时,逻辑上相邻的元素必然会在存储的物理位置次序上相邻。( V )

~~02|02|1|1
^^顺序存储方式只能用于存储线性结构。( X )

~~02|02|1|1
^^线性表的逻辑顺序与存储顺序总是一致的。( X )

~~02|02|1|1
^^求顺序表长度的时间复杂度与求链表的时间复杂度相同。( X )

~~02|02|1|1
^^头结点和首元结点是同一个结点,均指链表中的第一个结点。( X )

~~02|02|2|1
^^线性表两种存储结构,顺序存储要优于链式存储。( X )

~~02|02|1|1
^^链式存储结构在存储密度上在优于顺序存储。(X )

~~02|02|1|1
^^线性表两种存储结构,顺序存储要和链式存储各有特点,选择何种存储结构要和具体问题结合起来。(V )

~~02|02|1|1
^^在单链表中设置头结点的作用是使插入和删除操作统一起来。( V )

~~02|02|1|1
^^一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是110。( X )

~~02|02|1|1
^^向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动63.5个元素。( V )

~~02|02|1|1
^^线性表若采用链式存储结构时,要求内存中可用存储单元的地址连续或不连续都可以。( V )

~~02|02|1|1
^^线性表L在需不断对L进行删除插入情况下适用于使用链式结构实现。( V )

~~02|02|1|1
^^单链表的存储密度小于1。( V )

~~02|02|1|1
^^链表是一种采用链式存储结构存储的线性表。( V )

~~02|02|1|1
^^在顺序表中访问任意一结点的时间复杂度均为O(1) ,因此,顺序表也称为随机存取的数据结构。( V)

~~02|02|1|1
^^在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的值 指示。( V )

~~02|02|1|1
^^顺序表中逻辑上相邻的元素的物理位置必定相邻。( V )单链表中逻辑上相邻的元素的物理位置不一定相邻。( V )

~~02|02|1|1
^^在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。( V )

~~02|02|1|1
^^线性表中结点的集合是 有限的,结点间的关系是一对一的。( V )
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

娃娃 哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值