数据结构习题带答案
时间:2026-01-20
时间:2026-01-20
数据结构习题带答案
补充习题
第一章至第五章
一、单选或填空题
1. 下列程序段中S语句的执行频度为
for(i=0;i<n;i++ ) for(j=0;j<i;j++ )
S;
)。
2. 下列算法的时间复杂度是(
for(i=0;i<n;i++ )
c[i]=i;
3. 算法的时间复杂度可表示为O(1)、线性阶、平方阶O(n2)、对数阶O(logn)和指数阶O(2n)等。
4 以下关于数据结构的基本概念中,叙述正确的是A) 数据元素是数据不可分割的最小单位。 B) 数据是数据对象的子集。
C) 数据元素之间的关系在计算机中可用顺序映像和非顺序映像两种不同的方法表示。 D) 数据结构在计算机中的表示又称为逻辑结构。 5. 在数据结构中,数据的逻辑结构包括( )。 A) 线性结构和非线性结构 B) 逻辑结构和物理结构 C) 顺序结构和链式结构 D) 虚拟结构和抽象结构 6. 在数据结构中,数据的存储结构包括
A) 线性结构和非线性结构 B) 逻辑结构和物理结构 C) 顺序结构和链式结构 D) 虚拟结构和抽象结构 7. 线性结构的数据元素之间存在一种( )。
A.一对多关系 C.多对一关系 A) n/2
B.多对多关系 D.一对一关系
8. 在长度为n的顺序表中插入一个元素,需要平均移动
B)n
C) n(n-1) D) n(n+1)
9. 在有n个元素的顺序表中做插入、删除运算,平均时间复杂度为 10. 顺序表中逻辑上相邻的元素物理位置置 相邻。
A)必然、必然 B)必然、不一定 C)不一定、必然 D)不一定、不一定
数据结构习题带答案
11.相对于顺序存储而言,链式存储的优点是(
A.随机存取
B.节约空间
)。
C.增、删操作方便 D.节点间关系简单
12 以下关于头结点的描述中,叙述错误的是 ..
A) 头结点是对链表首元结点的别称
B) 若链表中附设头结点,则头指针一定不为空
C) 头结点中不存储链表的数据元素,而是一些诸如表长之类的辅助信息 D) 在单链表中附设头结点,插入或删除首元素时不必进行特殊处理
13.已知L是无表头结点的单链表,且P所指结点既不是首元结点,也不是尾元结点,则在P之后插入S所指结点,则执行(
A) S->next=P->next; P->next=S; B) P->next=S->next; S->next=P; C) S->next=P; P->next=S; D) P->next=S; S->next=P;
14. 已知L是带表头结点的非空单链表,且P结点是S结点的直接前驱。则删除S结点的语句序列为 。
I. P->next = S ;free(P)
II. P->next = P->next->next; free(S) III. P->next = S->next; free(S) IV. P = P->next ;free(S)
A) I和II正确 B) II和 III正确 C) III和IV正确 D) 全部正确 15. 已知L是带表头结点的单链表,则删除首元结点的语句序列是( )。
A) L->next =L->next->next; free(L) B) P = L ;L= P->next ;free(P)
C) P = L->next ; L->next= P->next ;free(P) D) P = L ;L= P->next ;free(P)
16. 已知L是一带有头结点的单链表的头指针,则该单链表为空的条件是。 17. 已知P结点是某双向链表的中间结点,则删除P结点的语句序列是 , ,free(P);
18. 设将整数1,2,3,4,5依次进栈,最后都出栈,出栈可以在任何时刻(只要栈不空)进行,则出栈序列不可能的是(
)。
)。
A) 32415 B) 45231 C) 32145 D) 45321
19. 在栈中由顶向下已存放元素c, b, a 在第4个元素d入栈前,栈中元素可以出栈,则不可..能的出栈序列是 . A) dcba B) cbda C) cdba D) cadb
20. 若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续3次进行退
数据结构习题带答案
栈操作,则不可能得到的出栈序列是( )。
A.dcebfa B.cbdaef C.bdcaef D.afedcb
21. 设有栈S和队列Q,其初始状态为空,元素a1,a2,a3,a4,a5,a6依次入栈,出栈的元素进入队列Q。若元素出队列的顺序是a2,a4,a3,a6,a5,a1,则栈的容量至少是 。 22. 某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作,则abcde顺序入队,不可能的到的顺序是(
)。
A.bacde B.dbace C.dbcae D.ecbad
23. 设用一维数组A[n]存储一个栈,令A[n]为栈底,用整型变量T指示当前栈顶位置,A[T]为栈顶元素。当从栈中弹出一个元素时,变量T的变化为( )。
A) T=T+1 B) T=T-1
C) T不变 D) T=n-1
24. 循环队列是满队列的条件是
A)Q.rear=Q.front B)(Q.rear+1) % maxsize=Q.front
C)Q.rear=0 D)Q.front=0
25. 在具有m个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队满的条件是( )
A. front== (rear+1) % m B. front+1== rear C. front== rear D. rear== m
26. 在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队首指针和队尾指针,则判断队空的条件是( )
A)front== (rear+1) % n B)front+1==rear
C)front==rear D)front==0
27. 循环队列用数组A[0‥m-1]存放其数据元素。设front指向其实际的队头,rear指向其 …… 此处隐藏:8728字,全部文档内容请下载后查看。喜欢就下载吧 ……