当前位置:问答库>考研试题

2018年北京师范大学教育学部894程序设计与数据结构之数据结构考研基础五套测试题

  摘要

一、填空题

1. 阅读下列程序,指出其功能,并写出空格处应填上的语句。

【答案】

【解析】本题是在哈希表中插入值为item 的元素,如该元素已在哈希表中,报告出错。

2. —个有2001个结点的完全二叉树的高度是_____。

【答案】11

【解析】完全二叉树的高度

3. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树

【解析】二叉排序树(binary sort tree)或者是一棵空树,或者是具有下列性质的二叉树:①若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

4. 对单链表中元素按插入方法排序的C 语言描述算法如下,其中L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。

:_____:

{_____)

(_____、

:_____;_____;p =u ;

【答案】(1)L﹣>next =NULL //置空链表,然后将原链表结点逐个插入到有序表中 (2)p!=NULL //当链表尚未到尾,p 为工作指针

(3)q!=NULL //查P 结点在链表中的插入位置,这时q 是工作指针 (4)p﹣>next =r ﹣>next //将P 结点链入链表中

(5)r﹣>next =p //r是q 的前驱,u 是下个待插入结点的指针

5. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。

【答案】稳定 6.

【答案】5

7. 对n 个记录的表

【答案】n (n-1) /2

【解析】第一次需要n -1次比较,第i 此需要n -i 此比较,所以共需要。

8. 起始地址为480,大小为8的块,其伙伴块的起始地址是_____;若块大小为32, 则其伙伴块的起始地址为_____; 。

【答案】480+8=488,480-32=448

【解析】起始地址为P ,大小为的内存块,其伙伴块的起始地址计算公式如下:

根据上述公式起始地址就为488。

9. —棵左子树为空的二叉树在前序线索化后,其中的空链域的个数为_____。

【答案】2

【解析】只有根结点的做指针为空和最右边的叶结点的右指针为空。

10.二叉树的前序序列和中序序列相同的条件是_____。

【答案】空树或任何结点至多只有右子树的二叉树

【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历

=_____

进行简单选择排序,所需进行的关键字间的比较次数为_____。

序列相同,则任何结点都没有左子树。

11.在一棵m 阶B-树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是_____; 若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字的个数是_____。

【答案】

【解析】m 阶B-树除根结点和叶子结点外,结点中关键字个数最多是m -1,最少

12.

给定一组数据以它构造一棵哈夫曼树,则树高为_____,带权路径长度WPL 的值为_____。

【答案】5;96

【解析】每次找两个最小的权值构建哈夫曼树:

二、判断题

13.广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。( )

【答案】 ×

【解析】广义表的取表尾运算,是非空广义表除去表头元素,剩余元素组成的表,不可能是原子。

14.若一个广义表的表头为空表,则此广义表亦为空表。( )

【答案】 ×

【解析】广义表的表头就是广义表的第一个元素。只有非空广义表才能取表头。

15.数据的逻辑结构是指数据的各数据项之间的逻辑关系。( )

【答案】X

【解析】数据的逻辑结构是指数据元素之间的逻辑关系。

16.算法的优劣与算法描述语言无关,但与所用计算机有关。( )

【答案】 ×

【解析】算法的优劣和它的时间复杂度和空间复杂度有关,与算法描述语言和所用计算机都无关。