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

2017年北方民族大学软件工程832C语言程序设计与数据结构之数据结构考研仿真模拟题

  摘要

一、填空题

1. 如下的算法分别是后序线索二叉树求给定结点node 的前驱结点与后继结点的算法,请在算法

,其空格处填上正确的语句。设线索二叉树的结点数据结构为(lflag ,lcft ,data ,right ,rflag )

中:lflag=0,lcft 指向其左孩子,lflag=1,left 指向其前驱:rflag=0,right 指向其右孩子,rflag=1,right 指向其后继。

Prior (node , x )

{ if(node !=null)

If ( (1) ) *x=node->right;else * x-node->left;

}

next (bt , node, x )/*bt是二叉树的树根*/

{ (2) ;

if (node->rflag)(3);

else {do t=*x;;

while (*x==node );

*x=t;

}

}

【答案】nodc->rflag==O; *x=ht; *x=nodc->right; prior (t , X )

2. 设有个结点的完全二叉树顺序存放在向量

【答案】 中,其下标值最大的分支结点为_____。 【解析】最大的分支结点是最后一个叶子结点的父结点。

3. 求图的最小生成树有两种算法,_____算法适合于求稀疏图的最小生成树e

【答案】克鲁斯卡尔

【解析】克鲁斯卡尔算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法,这种算法中,采用堆来存放边的集合,适合于边稀疏而顶点较多的图。

4. 对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。

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

【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。

5. 假定有k 个关键字互为同义词,若用线性探测再哈希法把这k 个关键字存入哈希表中,至少要进行_____次探测。 【答案】

【解析】当该关键字发生冲突时,用线性探测不会遇到别的关键字冲突,这个时候需要探测的次数最小。总次数为

6. 无用单元是指_____,例_____

【答案】用户不再使用而系统没有回收的结构和变量;

7. 设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称

增量序列)依次是4,2,1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。

【答案】3; (10,7,-9,0,47,23,1,8,98,36)

8. 栈是_____的线性表,其运算遵循_____的原则。

;后进先出 【答案】操作受限(或限定仅在表尾进行插入和删除操作)

9. 求最短路径的Dijkstra 算法的时间复杂度为_____。 【答案】

.

10.

每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是

中序序列是

前庁序列是_____。 【答案】

前序是

。 【解析】树的抑序序列对应二叉树的前序序列. 该二叉树转换成森林吋含三棵树. 其第一棵树的,则它的后庁序列是_____。设上述二叉树是由某棵树转换而成,则该树的

二、判断题

11.—棵树中的叶子数一定等于与其对应的二叉树的叶子数。( )

【答案】×

【解析】一颗树的叶子树与它对一个的二叉树的叶子树没有直接联系。不妨举例:假设一个有三个结点的二叉树,层数为2。则它的叶结点数为2。将其按规则转为对应的二叉树时,则它的叶结点数为1。

12.二叉树中除叶结点外,任一结点点的值大于等于该结点

【答案】×

【解析】二叉排序树按中序遍历的结点序列是从小到大的因为某结点的左子树根结点不一定

其左子树根结点的值小于该结点的值;其右子树根结的值,则此二叉树一定是二叉排序树。( )

是它的中序前驱,可能会出现某结点的左子树根结点的右子树上的值大于这个结点;其右子树根结点也不一定是它的中序后继。可能会出现右子树根结点的左子树的值小于这个结点。

13.若中序遍历平衡的二叉排序树,可得到排好序的关键码序列。( )

【答案】√

【解析】二叉排序树对于每一个结点,它的左子树的所有结点的值都小于这个结点的值,而它的右子树的所有结点的值都大于这个结点的值。而采用中序遍历,遍历顺序为左根右,因此可以得到按增序排列的关键码序列。

14.算法的优劣与算法描述语言无关,但与所用计算机有关。( ) 【答案】

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

15.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( ) 【答案】

【解析】前者正确,后者错误。顺序存储方式在插入、删除元素时需要挪动大量的元素,执行效率较低。

16.排序的稳定性是指排序算法中的比较次数保持不变,且算法能够终止。( )

【答案】×

【解析】排序的稳定性指:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,且ri 在rj 之前,而在排序后的序列中,ri 仍在rj 之前,则称这种排序算法是稳定的;否则称为不稳定的。

17.m 阶B 树的任何一个结点的左右子树的高度都相等。( )

【答案】√

【解析】由B 树的性质得知,叶子结点都处于同一层。因此,m 阶B 树的任何一个结点的左右子树的高度都相等。

18.哈夫曼树无左右子树之分。( )

【答案】×

【解析】哈夫曼树就是一棵二叉树。

19.用向量和单链表表示的有序表均可使用折半查找方法来提高查找速度。( )

【答案】×

【解析】单链表不能使用折半查找方法。折半查找主要用于数据元素有序且存储方式为顺序存储的表。