数据结构考研模拟试题及详解(一)【圣才出品】

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

数据结构考研模拟试题及详解(一)

一、单项选择题(每小题2分,共20分)

(1)设Huffman树的叶与节点数为m,则节点的点数为()。

A.2m

B.2m-1

C.2m+l

D.m+l

【答案】B

【解析】Huffman不存在一个分支的节点,对于任意的二叉树都有n0=n2+1,而n0=m,故推出Huffman的总结点数为m+m-1。

(2)若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储()个元素。

A.n

B.n-1

C.n+l

D.不确定

【答案】B

【解析】循环队列Q.rear==Q.front用来表示队列为空,而(Q.rear+1)%QueueMaxSize==Q.front来判断队列是否已满。也就是说循环队列需要一个额外的数据空间来表示循环队列已经存满的。所以最多只能存n-1。

(3)下述哪一条是顺序存储方式的优点?()

A.存储密度大

B.插入和删除运算方便

C.获取符合某种条件的元素方便

D.查找运算速度快

【答案】A

【解析】因为顺序存储方式把分配给存储单元全用来存放结点数据,结点之间的逻辑关系没有占用额外的存储空间。所以相比链式存储方式同样大小的空间它可以存下更多的数据。

(4)设有一个二维数组A[m][n],假设A[0][0]存放位置在为

每个元素占一个空

间.

A.658

B.648

C.633

D.653

【答案】D

【解析】根据二维数组地址计算公式LOC(A[i][j])=LOC(A[p][q])+((i−p)*n+(j−q))*t(t表示字节),把t=1、A[0][0]及A[3][3]代入得到n=25。故A[2][3]

=A[0][0]+(2*25+3)*1=653。

(5)下列关于二叉树遍历的叙述中,正确的是()。

A.若一个树叶是某二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序遍历最后一个节点

B.若一个节点是某二叉树的前序遍历最后一个节点,则它必是该二叉树的中序遍历的最后一个节点

C.若一个节点是菜二叉树的中序遍历的最后一个节点,则它必是该二叉树的前序最后一个节点

D.若一个树叶是某二叉树的前序遍历的最后一个节点,则它必是该二叉树的中序遍历最后一个节点

【答案】D

【解析】A项,最后一个叶子节点是左节点时前序遍历和中序遍历最后一个节点不一样。BC项,比如树根节点没有右孩子,那么树根节点是中序遍历的最后一个节点,而树根节点是前序遍历的第一个节点。

(6)k层二叉树的节点总数最多为()。

A.

B.

C.

D.

【答案】A

【解析】k层二叉树结点最多的情况就是满二叉树。那么根据满二叉树的结点数计算公

式可知答案为。

(7)对线性表进行二分法查找,其前提条件是()。

A.线性表以链接方式存储,并且按关键码值排好序

B.线性表以顺序方式存储,并且按关键码值的检索频率排好序

C.线性表以顺序方式存储,并且按关键码值排好序

D.线性表以链接方式存储,并且按关键码值的检索频率排好序

【答案】C

【解析】要进行二分查找必须具备三个条件:①确定元素之间比较大小的运算符(按关键码指排的必要性);②排序;③各元素可以随机访问到;

(8)对n个记录进行堆排序,所需要的辅助存储空间为()。

A.O(log2n)

B.O(n)

C.O(1)

D.O(n2)

【答案】C

【解析】堆排序是就地排序,辅助空间是O(1)。

(9)对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H (K)=K%7作为散列函数,则散列地址为0的元素有()个。

A.1

B.2

C.3

D.4

【答案】D

【解析】根据H(K)=K%7,可知地址为0的都是为7的倍数,线性表中有7、77、49、14总共有四个。

(10)下列关于数据结构的叙述中,正确的是()。

A.数组是不同类型值的集合

B.递归算法的程序结构比迭代算法的程序结构更为精炼

C.树是一种线性结构

D.用一维数组存储一棵完全二叉树是有效的存储方法

【答案】BD

【解析】A项,数组是相同类型指的集合。B项:递归算法相对与迭代算法简洁明了。C 项,树是一种非线性结构。D项,一颗完全二叉树存放在存储密度更大的顺序表中比起二叉链表可以节约更多的一些空间;

二、(本题8分)

假定一棵二叉树广义表表示为a(b(c),d(e,f)),分别写出对它进行先序、中序、后序、按层遍历的结果。

【答案】根据二叉树的广义表的定义可以画出该二叉树,如图2-1所示。

a

b d

c e f

图2-1

根据图2-1遍历。

先序:a,b,c,d,e,f

中序:c,b,a,e,d,f

后序:c,b,e,f,d,a

按层:a,b,d,c,e,f

三、(每小题4分,共8分)

己知一个无向图的顶点集为{a,b,c,d,e},其邻接矩阵如下所示:

(1)画出该图的图形;

(2)根据邻接矩阵从顶点a出发进行深度优先遍历和广度优先遍历,写出相应的遍历序列。

【答案】(1)邻接矩阵中为1的部分表示该行该列对应的元素有边。据此画出图形。

该图的图形如图2-2所示。

相关文档
最新文档