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

内容发布更新时间 : 2024/5/20 17:33:15星期一 下面是文章的全部内容请认真阅读。

海量资源,欢迎共阅

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

学年第1

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

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

A)31B)32 C)33D)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)nB)n+1 C)n-1D)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)1B)2 C)3D)4

v1 v2v3 v4

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

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

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

A)动态结构和静态结构B)紧凑结构和非紧凑结构 C)线性结构和非线性结构D)内部结构和外部结构

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

A)loc(A1)+i*cB)loc(A1)+(i-1)*c C)loc(A1)+i*c+1D)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

A)2iB)2iC)2i-1D)2i-1 40、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为(A)。 A)p->next=p->next->nextB)p=p->next C)p=p->nexe->nextD)p->next=p 41、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为(B)。 A)3,2,5,6,4,1B)1,5,4,6,2,3 C)2,4,3,5,1,6D)4,5,3,6,2,1

42、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是(B)。

A)9B)11 C)15D)不能确定

43、对待排序的元素序列进行划分,将其分为左、右两个子序列,再对两个子序列施加同样的排序操作,直到子序列为空或只剩一个元素为止。这样的排序方法是(A)。

海量资源,欢迎共阅

A)直接选择排序B)直接插入排序 C)快速排序D)起泡排序

44、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为(B)。

A)13B)33 C)18D)40

45、如果结点A有3个兄弟,而且B为A的双亲,则B的度为(B)。

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

46、线索二叉树中某结点D,没有左孩子的条件是(B)。

A)D->Lchild=NullB)D->ltag=1 C)D->Rchild=NullD)D->ltag=0 47、栈进行插入和删除操作的特点是(A)。

A)LIFOB)FIFO C)FCFSD)HPF

48、与无向图相关的术语有(C)。

A)强连通图B)入度 C)路径D)弧

49、n个顶点的图的最小生成树必定(D),是不正确的描述。 A)不唯一B)权的总和唯一 C)不含回路D)有n条边

50、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个(D)。A)上三角矩阵B)稀疏矩阵 C)对角矩阵D)对称矩阵

51、采用链结构存储线性表时,其地址(B)。

A)必须是连续的B)连续不连续都可以 C)部分地址必须是连续D)必须是不连续的 52、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用(B)。 A)顺序表示法B)单字符为结点的单链表表示法 C)等量分块表示法D)不等量分块表示法 53、在循环队列中,若front与rear分别表示对头元素和队尾元素的位置,则判断循环队列空的条件是(C)。

A)front==rear+1B)rear==front+1 C)front==rearD)front==0 二、判断题(对的打√,错的打╳)

1、算法和程序都应具有下面一些特征:有输入,有输出,确定性,有穷性,有效性。(1)

2、顺序表和一维数组一样,都可以按下标随机(或直接)访问。(1) 3、线性表的链式存储结构优于顺序存储。(0) 4、对稀疏矩阵进行压缩存储是为了节省存储空间。(1) 5、数据的逻辑结构反映了数据在计算机中的存储方式。(1)

6、从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情

况下,需平均比较(n+1)/2个元素结点。(1)

7、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指

针和队尾指针,则判断队满的条件为:(rear+l)%n= = front。(1) 8、选择好的哈希函数就可以完全避免冲突的发生。 (0)

9、栈和队列都是顺序存取的线性表,它们对存取位置的限制是一样的。(0) 10、在铁路的列车调度中,假设两侧铁道均为单向行驶道,如果进站的列车序列为123456,则一定能得到435612和135426的出站序列。(0) 11、广义表是由零个或多个原子或子表所组成的有限序列,所以广义表可能为空表。(0) 12、数组是一种复杂的数据结构,数组元素之间的关系,即不是线性的也不是树形的。(0) 13、用邻接表存储图所用的空间大小与图的顶点数和边数都有关。(0) 14、设散列表长度为m,散列函数为H(key)=key%p,为了减少发生冲突的可能性,p应取小于m的最大奇数。(1) 15、在排序前,关键字值相等的不同记录间的前后相对位置保持不变的排序方法称为稳定的排序方法。(1) 16、引入线索二叉树的目的是为了能在二叉树中方便的进行插入与删除。(0) 17、算法分析的主要任务是研究数据之间的逻辑关系。(0)

18、在一个长度为n的顺序表中删除第i个元素(0?i?n)时,需向前移动n?i个元素。(0) 19、在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为:rear= = front。(0) 20、在铁路的列车调度中,假设两侧铁道均为单向行驶道,如果进站的列车序列为123456,则只能得到654321的出站序列。(0)

21、在一棵二叉树中,假定每个结点只有左孩子,没有右孩子,对它分别进行前序遍历和中根遍历,则具有相同的结果。(0)

22、广义表((a,b),a,b)的表头和表尾是相等的。(0)

23、线性表可以看成是广义表的特例,如果广义表中的每个元素是原子,则广义表便成为线性表。(1) 24、插入和删除操作是数据结构中最基本的两种操作,所以这两种操作在数组中也会经常使用。(0) 25、线索二叉树是一种物理结构。(1)