数据结构模拟试卷及参考答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

^

数据结构模拟试卷(一)及参考答案

一.单项选择题(本大题共15小题,每小题2分,共30分)

1.如果只想得到1024个元素组成的序列中的前5个最小元素,那么用( A )方法最快。

A、起泡排序

B、快速排序

C、堆排序

D、直接选择排序

2.算法分析的目的是( B )

A.辨别数据结构的合理性

B.评价算法的效率

C.研究算法中输入与输出的关系

D.鉴别算法的可读性

3.在线性表的下列运算中,不改变数据元素之间结构关系的运算是( C )A.插入B.删除

C.定位 D.排序

4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( D )

A.3,2,6,1,4,5 B.5,6,4,2,3,1

>

C.1,2,5,3,4,6 D.3,4,2,1,6,5

5.设串sl=″DataStructureswithJava″,s2=″it″,则子串定位函数index(s1,s2)的值为( A )

A.15 B.16

C.17 D.18

6.一个顺序存储的线性表的第一个元素的存储地址是100,每个元素的长度为4,则第4个元素的存储地址是( B )。

A. 108

B. 112

C. 116

D. 120

7.从一个具有n个结点的单链表中查找其值等于x的结点,在查找成功的情况下,平均需要比较( C )个结点。

A. n

B. n/2

C. (n+1)/2

D. (n-1)/2

8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( D )A.不一定相同 B.互为逆序

C.都不相同 D.都相同

9.高度为5的二叉树至多有结点数为( A )

A. 63

B. 32

C. 24

10.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为( B )A.图中每个顶点的出度 B.图中每个顶点的入度

C.图中弧的条数 D.图中连通分量的数目

11.图的邻接矩阵表示法适用于表示( C )

A.无向图 B.有向图

C.稠密图D.稀疏图

12.在一个单链表中,若p所指的结点不是最后一个结点,在p之后插入s所指的结点,则执行( D )。

A. s->next=p; p->next=s

B. p-next=s; s->next=p

C. p=s; s->next=p->next

D. s->next=p->next; p->next=s

13.下列排序算法中,其时间复杂度和记录的初始排列无关的是( A )A.直接选择排序B.插入排序

!

C.快速排序 D.冒泡排序

14.若有序表的关键字序列为(b,c,d,e,f,g,q,r,s,t),则在二分查找关键字b的过程中,先后进行比较的关键字依次为( B )

A.f,d,b B.f,c,b

C.g,c,b D.g,d,b

15.如下图所示的4棵二叉树中,( C )不是完全二叉树。

<

二.填空题(本大题共15小题,每小题2分,共30分)

1.-

2.在数据结构中,数据的逻辑结构分线性结构和非线性结构。

3.称算法的时间复杂度为O(f(n)),其含义是指算法的执行时间和___ f(n)____的数

量级相同。

4.在一个长度为n的单链表L中,删除链表中*p的前驱结点的时间复杂度为_____

O(n)____。

5.假设为循环队列分配的向量空间为Q[20],若队列的长度和队头指针值分别为13

和17,则当前尾指针的值为__10____。

6.对于栈只能在___栈顶_____插入和删除元素。

7.通常从正确性、____可使用性___、可读性、效率和健壮性等5个方面评价算法(包

括程序)的质量。

8.在具有n个单元的循环队列中,队满时共有n-1 个元素。

9.若对关键字序列(43,02,80,48,26,57,15,73,21,24,66)进行一趟增量

为3的希尔排序,则得到的结果为

(15,02,21,24,26,57,43,66,80,48,73) 。

10.—

11.在索引存储中,若一个索引项对应数据对象表中的一个表项(记录),则称此索引

为稠密索引,若对应数据对象表中的若干个表项,则称此索引为稀疏

索引。

12.二叉树中度为0的结点数为30,度为1的结点数为30,总结点数为 89 。

13.广义表A((a,b,c),(d,e,f))的表尾为((d,e,f))。

14.设有一个顺序栈S,元素sl,s2,s3,s4,s5,s6依次进栈,如果6个元素的出

栈顺序为s2,s3,s4,s6,s5,sl,则顺序栈的容量至少应为 3 。

15.根据一组记录(56,42,50,64,48)依次插入结点生成一棵AVL树(高度平衡的二

叉搜索树)时,当插人到值为 50 的结点时需要进行旋转调整。

16.n(n>0)个顶点的无向图最多有 n(n-1)/2 条边。

17.设无向图的邻接表如下图所示,则该图的边的数目是 5 。

A B C D

三.~ 四. 判断题(本大题共10小题,每小题1分,共10分) 1. (×)链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数

据元素之间的逻辑顺序。 2. (√)在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾

指针。 3. (×)通常递归的算法简单、易懂、容易编写,而且执行的效率也高。 4. (√)一个广义表的表尾总是一个广义表。 5. (×)对于一棵具有n 个结点,其高度为h 的二叉树,进行任一种次序遍历的时间

复杂度为O (h )。

6. (√)当从一个最小堆中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后

再按条件把它逐层向下调整,直到调整到合适位置为止。 7. (×)存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图

的边数也有关。 8. ! 9. (√)进行折半搜索的表必须是顺序存储的有序表。 10. (×)直接选择排序是一种稳定的排序方法。 11. (×)在用单链表表示的链式队列中,队头在链表的链尾位置。

五.问答题 (本大题共5小题,每小题6分,共30分) 1.由如图所示的二叉树,回答以下问题。

a.其中序遍历序列为 d g b a e c h i f 。

b.其先序遍历序列为 a b d g c e f h i 。

c.其后序遍历序列为 g d b e i h f c a 。

|

2.已知图G=(V,E),其中V ={a,b,c,d,e,f,g},E =

,,,,,,,, ,,,},请画出图G ,并写出其邻接矩阵和邻接表表示。 &

&

相关文档
最新文档