2017年北京市培养单位电子电气与通信工程学院863计算机学科综合(专业)之数据结构考研仿真模拟题
● 摘要
一、填空题
1. N 个顶点的连通图用邻接矩阵表示时,该矩阵至少有_____个非零元素。
【答案】2(N-1)
【解析】所谓连通图一定指的是无向图,有向图会称作强连通图。连接N 个顶点,至少需要N-1条边就可 以了。由于无向图的每一条边同时关联了两个顶点。因此用邻接矩阵表示时,该矩阵至少有2(N-1)个非零元素。
2. 如果按关键码值递増的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。
【答案】序查找效率一样为
3.
给定一组数据
的值为_____。 【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
以它构造一棵哈夫曼树,则树高为_____,
带权路径长度
【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺
4. 数据结构中评价算法的两个重要指标是_____。
【答案】算法的时间复杂度和空间复杂度
5. 假定有k 个关键字互为同义词,若用线性探测再哈希法把这k 个关键字存入哈希表中,至少要进行_____次探测。
【答案】的次数最小。总次数为
第 2 页,共 55 页
【解析】当该关键字发生冲突时,用线性探测不会遇到别的关键字冲突,这个时候需要探测
6. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。
【答案】顺序
【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了更快的存取元素,顺序表更合适。
7. 如某二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____。
【答案】69
【解析】二叉树叶结点数为20, 则度为2的结点数为19, 所以总的结点数为20+19+30=69。 8. 设T 是一棵结点值为整数的二叉排序树,A 是一个任意给定的整数。free_tree在下面的算法中,(T )在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点;
首
先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返否则返回根结点的地址。
【答案】
9. 在二叉树中,指针p 所指结点为叶结点的条件是_____。
【答案】
【解析】叶子节点的左右孩子都不存在。 10.分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。
【答案】起泡;快速
,【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为〇(n )
第 3 页,共 55 页
而快速排序算法需要比较的次数达到最大,时间复杂度为
二、判断题
11.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( )
【答案】
【解析】前者正确,后者错误。顺序存储方式在插入、删除元素时需要挪动大量的元素,执行效率较低。
12.连通图上各边权值均不相同,则该图的最小生成树是唯一的。( )
【答案】√
【解析】由最小生成树的构建过程知,在确定根结点之后,因为连通图上各边权值均不相同,下一个结点的选择是唯一的,所以该图的最小生成树是唯一的。
13.广义表的取表尾运算,其结果通常是个表,但有时也可是个单元素值。( )
【答案】×
【解析】广义表的取表尾运算,是非空广义表除去表头元素,剩余元素组成的表,不可能是原子。
14.有向图中顶点V 度等于其邻接矩阵中第V 行中的1的个数。( )
【答案】×
【解析】有向图顶点V 的出度等于其邻接矩阵第V 行中的1的个数,而有向图中V 的度等于其邻接矩阵中边表出现的V 的个数。
15.任何二叉树的后序线索树进行后序遍历时都必须用栈。( )
【答案】×
【解析】任何结点至多只有左子树的二叉树的遍历就不需要栈。
16.健壮的算法不会因非法的输入数据而出现莫名其妙的状态。( )
【答案】
【解析】算法的健壮性是指当输入数据非法时,算法能作适当的处理并作出反应,而不应死机或输出异常结果。
17.若从二叉树的任一结点出发,到根的路径上所经过的结点序列按其关键字有序,则该二叉树一定是哈夫曼树。( )
【答案】×
【解析】在含有N 个带权叶子结点的二叉树中,其中带权路径长度最小的二叉树称为哈夫曼树,也叫做最优二叉树。关键字有序,可能叶子结点部分的关键字最大,根结点的关键字部分最
第 4 页,共 55 页