数据结构与算法复习题(含答案) 下载本文

内容发布更新时间 : 2024/6/21 13:58:18星期一 下面是文章的全部内容请认真阅读。

数据结构与算法复习题(含答案)

《数据结构与算法》学期考试复习题2015-2016

学年第1

一、 选择题(下面各小题有一个正确答案,请将正确答案的编号填写在各小题的括号内)。

1、在一棵具有5层的满二叉树中结点总数为( A )。

A) 31 B)32 C)33 D)16

2、串的逻辑结构与( D )的逻辑结构不相同。

A)线性表 B)栈 C)队列 D)集合

3、下列序列中,执行第一趟快速排序后得到的序列是( A )。

A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b] C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]

4、n个顶点的强连通图至少有( A )条边。

A)n B)n+1 C)n-1 D)n(n-1)

5、数据结构中,在逻辑上可以把数据结构分成( B )。 A)动态结构和静态结构 B)线性结构和非线性结构

C)紧凑结构和非紧凑结构 D)内部结构和外部结构

6、链式存储的存储结构所占存储空间( A )。

A)分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针 B)只有一部分,存放结点值

C)只有一部分,存储表示结点间关系的指针

D)分两部分,一部分存放结点值,另一部分存放结点所占单元数

7、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。 A) 4 B)3 C)2 D)12

8、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。

A)p->next=p->next->next; B) p=p->next; C)p=p->next->next; D) p->next=p;

9、n个顶点,e条边的有向图的邻接矩阵中非零元素有( C )个。 A)n B)2e C)e D) n+e 10、对下图V4的度为( C )。

A)1 B)2 C)3 D)4

v1 v2 v3 v4 11、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。

A)4 B)5 C)6 D)7

12、在数据结构中,从逻辑上可以把数据结构分为( C )。

A)动态结构和静态结构 B)紧凑结构和非紧凑结构

C)线性结构和非线性结构 D)内部结构和外部结构

13、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。

A)loc(A1)+i*c B)loc(A1)+(i-1)*c C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c 14、( C )在进行插入操作时,常产生假溢出现象。

A)顺序栈 B)循环队列 C)顺序队列 D)链队列

15、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。

A) 单链表 B) 仅有头指针的单循环链表 C) 双链表 D) 仅有尾指针的单循环链表 16、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。 A) hs->next=s; B) s->next=hs->next; hs->next=s; C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next; 17、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。

A) rear=rear->next; B) front=front->next;

C) rear=front->next; D) front=rear->next ; 18、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。

A) 5,4,3,2,1,6 B) 2,3,5,6,1,4 C) 3,2,5,4,1,6 D) 1,4,6,5,2,3

19、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。

A) Head(Head(Tail(Tail(L)))) B) Tail(Head(Head(Tail(L)))) C) Head(Tail(Head(Tail(L))))

D)Head(Tail(Head(Tail(Tail(L)))))

20、下列各种数据结构中属于线性结构的有( A )。 A)栈 B) 二叉树 C) 广义表 D) 图

21、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。 A)顺序表示法 B)单字符为结点的单链表表示法 C)等量分块表示法 D)不等量分块表示法 22、广义表head(((a,b),(c,d)))的运算结果为( A )。 A)(a,b) B)(c,d) C)空表 D)((a,b),(c,d)) 23、 n个顶点的图的最小生成树必定( D ),是不正确的描述。 A)不唯一 B)权的总和唯一 C)不含回路 D)有n条边 24、采用链结构存储线性表时,其地址( B )。

A)必须是连续的 B)连续不连续都可以 C)部分地址必须是连续 D)必须是不连续的 25、队列的操作的原则是( A )。

A)先进先出 B) 后进先出 C) 只能进行插入 D) 只能进行删除 26、以下属于顺序存储结构优点的是( A )。

A) 存储密度大 B) 插入运算方便

C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示 27、数据结构研究的内容是( D )。

A)数据的逻辑结构 B)数据的存储结构 C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面 28、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。

A)q->next=s; s->next=p; B)s->next=p->next; p->next=s; C)p->next=s->next; s->next=p D)p->next=s; s->next=q; 29、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。

A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表 30、下面关于线性表的叙述中,错误的是哪一个?( D ) A)线性表采用顺序存储,必须占用一片连续的存储单元。 B)线性表采用链接存储,便于插入和删除操作。

C)线性表采用链接存储,不必占用一片连续的存储单元。 D)线性表采用顺序存储,便于进行插入和删除操作。

31、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。

A)top不变 B)top=0 C)top-- D)top++

32、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个

结点的操作为( B )。

A)front=front->next; B) rear=rear->next;

C) rear=front->next; D) front=rear->next ;

33、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。

A) A, B, C, D, E B) B, C, D, E, A

C) E, A, B, C, D D) E, D, C, B, A 34、广义表A=(A,B,(C,D),(E,(F,G))),则head(tail(head(tail(tail(A)))))=( D )。

A) (G) B) (D) C) C D) D

35、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。

A)一个数量级别 B)一个平均值 C)一个最大值 D)一个均方值

36、线性表的链接实现有利于( A )运算。

A)插入 B)读元素 C)查找 D)定位

37、串的逻辑结构与( D )的逻辑结构不同。

A)线性表 B)栈 C)队列 D)树 38、下面程序段的时间复杂度是( A )。

s =0;

for( i =0; i

sum = s ;

A) O(n2) B) O(n) C) O(m*n) D)O(1)

39、二叉树第i(i≥1)层上至多有( C )结点。

A)2i B)2i C)2i-1 D)2i-1

40、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。

A)p->next=p->next->next B)p=p->next C)p=p->nexe->next D)p->next=p

41、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。

A)3,2,5,6,4,1 B)1,5,4,6,2,3 C)2,4,3,5,1,6 D)4,5,3,6,2,1