数据结构-自考资料计算机5000102计算机应用软件8
数据结构一(图题)
15.求出下图所示有向图的邻接表。
答:有向图的邻接表为:
16.求出下图所示无向图的邻接表。
答:无向图的邻接表为:
17.用邻接矩阵存储一个包含1000个顶点和1000条边的图,则该图的邻接矩阵中有多少元素?有多少非零元素?
答:该图的邻接矩阵中有1000*1000个元素。该图的邻接矩阵中有2000个非零元素。
18.画出下图中二叉树的顺序存储结构示意图。
答:二叉树的顺序存储结构示意图为:
19.写出中缀表达式A-(B+C/D)*E的后缀形式。
答:中缀表达式A-(B+C/D)*E的后缀形式是:ABCD/+E*-。
20. 为什么用二叉树表示一般树?
答:树的最直观表示是为树中结点设置指向子结点的指针域,对k叉树而言,每个结点除data域外,还有k个链接域。这样,对一个有n个结点的k叉树来说,共有n*k个指针域,其中n-1个不空,另外n(k-1)+1个指针域为空,因此,空链接域的比例约为(k-1)/k ,于是导致大量的空间浪费。然而,如果采用二叉树表示一棵n个结点的树,则树中共有2n个链接域,其中未用到的有n+1个,占所有指针域的比例约为1/2,空间浪费少很多。
另外,因为任何树型结构都可以转换成二叉树,因此,通常用二叉树表示树型结构。
21.已知数据序列为12,5,9,20,6,31,24,对该数据序列进行排序,试写出冒泡排序每趟的结果。
答: 初始键值序列12 5 9 20 6 31 24
第一趟排序 [5 9 12 6 20 24] 31
第二趟排序 [5 9 6 12 20] 24 31
第三趟排序 [5 9 6 12] 20 24 31
第四趟排序 5 6 9 12 20 24 31
22.试找出前序序列和中序序列相同的所有二叉树。
解答:空树或缺左子树的单支树。
23.完全二叉树用什么数据结构实现最合适,为什么?
答:完全二叉树用一维数组实现最合适。因为完全二叉树保存在一维数组中时,数组内没有空洞,不存在空间浪费问题;另外,顺序存储方式下,父子结点之间的关系可用公式描述,即已知父(或子)结点寻找子(或父)结点只需计算一个公式,访问结点方便。但采用链表存储时就存在空间浪费问题,因为每个结点要另外保存两个链接域,并且寻找结点也不容易。
24. 给定表(40,36,55,6,64,77,9,41),按数据元素在表中的次序构造一棵二叉查找树,并求其平均查找长度。
答:构造的二叉查找树如下图,其平均查找长度为11/4。
25. 对于下图所示的二叉树,试分别写出先根遍历、中根遍历和后根遍历该树所得到的先根序列、中根序列和后根序列。
解答:先根遍历的结点序列:ABCEIFJDGHKL
中遍历的结点序列:EICFJBGDKHLA
后根遍历的结点序列:IEJFCGKLHDBA
26.我们已经知道,树的先根序列与其对应的二叉树的先根序列相同,树的后根序列与其对应的二叉树的中根序列相同。那么利用树的先根遍历次序与后根遍历次序,能否唯一确定一棵树?请说明理由。
答:能。因为树的先根序列与其对应的二叉树的先根序列相同,树的后根序列与其对应的二叉树的中根序列相同,而二叉树的先根序列与二叉树的中根序列能唯一确定一棵二叉树,所以利用树的先根遍历次序与后根遍历次序,能唯一确定一棵树。
27.请给出如下图所示的权图的邻接矩阵。
答:解:
28.已知一棵二叉树的中序和前序序列如下,求该二叉树的后序序列。
中序序列:c,b,d,e,a,g,i,h,j,f
前序序列:a,b,c,d,e,f,g,h,i,j
答:该二叉树的后序序列为:c,e,d,b,i,j,h,g,f,a
29. 对半查找是否适合于以链接结构组织的表?
答:对半查找不适合于以链接结构组织的表。。
30. 请指出中序遍历二叉查找树的结点可以得到什么样的结点序列。
答:中序遍历二叉查找树的结点就可以得到从小到大排序的结点序列。
31.已知数据序列为12,5,9,20,6,31,24,对该数据序列进行排序,试写出归并排序每趟的结果。
解答:
初始键值序列12 5 9 20 6 31 24
第一趟排序 [5 12] [9 20] [6 31] [24]
第二趟排序 [5 9 12 20] [6 24 31]
第三趟排序 5 6 9 12 20 24 31()
32. 答:把下列森林转化为一棵二叉树。
答: 森林转化