数据结构-线性表-习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线性表
一、选择题
1.线性表是( A )
A.一个有限序列,可以为空B.一个有限序列,不可以为空
C.一个无限序列,可以为空D.一个无限序列,不可以为空
2.一维数组与线性表的特征是( C )。
A.前者长度固定,后者长度可变B.两者长度均固定
C.后者长度固定,前者长度可变D.两者长度均可变
3.用单链表方式存储的线性表,存储每个结点需要两个域,一个数据域,另一个是( B ).
A.当前结点所在地址域B.指针域
C.空指针域D.空闲域
4.用链表表示线性表的优点是( B )。
A.便于随机存取
B.便于进行插入和删除操作
C.占用的存储空间较顺序表少
D.元素的物理顺序与逻辑顺序相同
5.在具有 n 个结点的单链表中,实现__A _的操作,其算法的时间复杂度都是O(n)。
A.遍历链表和求链表的第i个结点
B.在地址为P的结点之后插入一个结点
C.删除开始结点
D.删除地址为P的结点的后继结点
6.下面关于线性表的叙述中,错误的是( B )。
A.线性表采用顺序存储必须占用一片连续的存储单元
B.线性表采用顺序存储便于进行插入和删除操作
C.线性表采用链式存储不必占用一片连续的存储单元
D.线性表采用链式存储便于进行插入和删除操作
7.已知单链表的每个结点包括一个指针域next,它指向该结点的后继结点。现要将指针 q 指向的新结点插入到指针 p 指
向的结点之后,下面的操作序列中正确的是( C )。
A . q = p->next; p->next = q->next ;
B . p->next = q->next; q = p->next ;
C . q->next = p->next; p->next = q ;
D . p->next = q; q->next = p->next ;
8.设 a
l ,a
2
, a
3
为三个结点; p , 10 , 20 代表地址,则如下的链表存储结构称为( B )。
A.链表B.单链表C.双向循环链表D.双向链表
9.单链表的存储密度( C )。
A.大于 1 B.等于1 C.小于1 D.不能确定
10.己知一个顺序存储的线性表,设每个结点需占 m 个存储单元,若第一个结点的地址al ,则第i个结点的地址为( A )。
A. al+(i-1)*m
B. al+i*m
C. al-i*m
D. al+(i+1)*m
11.在 n 个结点的顺序表中,算法的时间复杂度是 O(l)的操作是( A )。
A.访问第i个结点(1≤i≤n)和求第 i 个结点的直接前驱(2≤i≤n)
B.在第 i 个结点之后插入一个新结点(1≤i≤n-1)
C.删除第 i 个结点( 1≤i≤n )
D.将 n 个结点从小到大排序
12.在线性表中( B )只有一个直接前驱和一个直接后继。
A.首元素B.中间元素
C.尾元素D.所有元素
13.对具有 n 个结点的线性表进行查找运算,所需的算法时间复杂度为( D )。
A. 0 (n2)
B. 0 (nlog
2n) C. O (log
2
n) D. O (n)
14.线性表采用顺序存储的缺点是( D )。
A.存储密度降低B.只能顺序访问
C.元素的逻辑顺序与物理顺序不一致
D.插入、删除操作效率低
15.以下链表结构中,从当前结点出发能够访问到任一结点的是( B )。
A.单向链表和双向链表B.双向链表和循环链表
C.单向链表和循环链表
D.单向链表、双向链表和循环链表
16.线性表是具有 n 个( B )的有限序列。
A.数据项B.数据元素C.表元素D.字符
17.若长度为 n 的线性表采用链式存储结构,访问其第 i 个元素的算法时间复杂度为( B )。
A. 0 ( l )
B. 0 ( n )
C. 0 ( n2 )
D. 0 ( log
2
n )
18.指针 P 指向循环链表 L 的首元素的条件是( A )。
A. P==L
B. L->next==P
C.P->next= =NULL
D. P->next==L
19.指针 P 所指的元素是双循环链表 L 的尾元素的条件是( D )。
A. P==L
B. P->prior==L
C. P==NULL
D. P->next==L
20.不带头结点的单链表L为空的条件是( C )
A. L!=NULL
B. L==NULL
C. L->next==NULL
D. L->next==L
21.带头结点的单链表L为空的条件是( D )
A. L!=NULL
B. L==NULL
C. L->next==NULL
D. L->next==L
22.两个指针 P 和 Q ,分别指向单链表的两个元素, P 所指元素是 Q 所指元素前驱的条件是( B )。
A. P->next==Q->next
B. P->next==Q
C. Q->next==P
D. P==Q
23.在长度为 n 的顺序表中,若要删除第 i (1≤i≤n )个元素,则需要向前移动元素的次数为( B )。
A. 1
B. n一i
C. n一i+1
D. n一i一l
24.在长度为 n 的顺序表中第 i (1≤i≤n)个位置上插入一个元素时,为留出插入位置所需移动元素的次数为( C )。
A. n-i
B. i
C. n–i+1
D. n-i-l
25.假定己建立以下动态链表结构,且指针 Pl 和 P2 已指向如图所示的结点:则以下可以将 P2 所指结点从链表中删除并
释放该结点的语句组是( C )
A. pl->next=p2->next; free (pl);
B. pl=p2; free (p2);
C. pl->next=p2->next;free (p2);
D. pl=p2->next; free (p2);
26.若已建立如图所示的单向链表,则以下不能将 s 所指的结点插入到链表尾部,构成新的单向链表的语句组是( D )。