清华大学美术学考研历年真题|考研历年真题:清华大学2000年“数据结构”试题

考研 2021-03-19 网络整理 可可

【shitiku.jxxyjl.com--考研】

1、(12分)

  请回答下列关于图(graph)的一些问题:  

  ①(4分)有n个顶点的有向连通图最多有多少条边?最少有多少条边?

  ②(4分)表示一个有1000个顶点、1000条边的有向图的邻接矩阵有多少个矩阵元素?是否稀疏矩阵?

  ③(4分)对于一个有向图,不用拓扑排序,如何判断图中是否存在环?

  2、(12分)  

  斐波那契数列fn定义如下:

  f0=0, f1=1, fn= fn-1 + fn-2, n=2,3,…

  请就此斐波那契数列,回答下列问题:

  ①.(7分)在递归计算fn的时候,需要对较小的fn-1,fn-2,…,f1,f0精确计算多少次?

  ②.(5分)若干有关大o表示法,试给出递归计算fn时递归函数的时间复杂度是多少?

  3、(17分)

  有一种简单的排序算法,叫做计数排序(count sorting)。这种排存算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键码互不相同。计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。

  ①.(3分)给出适用于计数排序的数据表定义;

  ②.(7分)使用pascal或c语言编写实现计数排序的算法;

  ③.(4分)对于有n个记录的表,关键码比较次数是多少?

  ④.(3分)与简单选择排序相比较,这种方法是否更好?为什么?

  4、(10分)

  在一棵表示有序集s的二叉搜索树(binary search tree)中,任意一条从根到叶节点的路径将s分为3部分:在该路径左边节点中的元素组成的集合s1;在该路径上的节点中的元素组成的集合s2;在该路径右边节点中的元素组成的集合s3。s=s1∪s2∪s3。若对于任意的a∈s1, b∈s2, c∈s3,是否总有a<=b<=c?为什么?

  5、(12分)请回答下列关于堆(heap)的一些问题:

  ①.(4分)堆的存储表示是顺序的,还是链接的?

  ②.(4分)设有一个最小堆,即堆中任意节点的关键码均大于它的左子女和右子女的关键码。其具有最大值的元素可能在什么地方?

  ③.(4分)对n个元素进行初始建堆的过程中,最多做多少次数据比较(不用大o表示法)?

  6、(12分)

  已知q是一个非空队列,s是一个空栈。仅用队列和栈的adt函数和少量工作变量,使用pascal或c语言编写一个算法,将队列q中的所有元素逆置。

[1] [2] 下一页  

本文来源:https://shitiku.jxxyjl.com/kaoyan/2833.html

Copyright @ 2011- 考试题库网 All Rights Reserved. 版权所有

免责声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。

 站长统计