1、1画出这棵二叉树。2画出这棵二叉树的后序线索树。3将这棵二叉树转换成对应的树(或森林) 。,中序序列:B F D A G E H C1、已知一棵二叉树的前序序列为: A,B,D,G,J,E,H,C,F,I,K,L 中序序列:D,J,G,B,E,H,A,C,K,I,L,F。i.写出该二叉树的后序序列;ii.画出该二叉树;iii.求该二叉树的高度(假定空树的高度为一1)和度为2、度为1、及度为0的结点 个数。该二叉树的后序序列为: J,G,D,H,E,B,K丄,I,F,C,A 。该二叉树高度为:5。度为2的结点的个数为:3。度为1的结点的个数为:度为0的结点个数为:4。5、试用权集合12,4,5,
2、6,1,2 构造哈夫曼树,并计算哈夫曼树的 带权路径长度。答案:WPL=12*1+(4+5+6)*3+(1+2)*4=12+45+12=696、已知权值集合为5,723,6,9 ,要求给出哈夫曼树,并计算带权路径长度WPLo(1)树形态:1910WPL=(6+7+9)*2+5*3+(2+3)*4=44+15+20=79(3)假设用于通信的电文仅由 8个字母组成,字母在电文中出现的频率分别为 0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10。1试为这8个字母设计赫夫曼编码。2试设计另一种由二进制表示的等长编码方案。3对于上述实例,比较两种方案的优缺点。解:方案1;哈
3、夫曼编码 先将概率放大100倍,以方便构造哈夫曼树。w=7,19,2,6,32,3,21,10,按哈夫曼规则:【(2,3),6, (7,10)】,19, 21,32方案比较:字母编号对应编码出现频率111000.072000.193111100.02411100.0650.32方 案 1000001010011100 6 101 003的 WPL图6.27 有2(0.19+0.32+0.21)+4(0.07+0.06+0.10)+5(0.02+0.03)=1.44+0.92+0.25=2.61 方案 2 的 WPL = 3(0.19+0.32+0.21+0.07+0.06+0.10+0.02+
4、0.03)=3 结论:哈夫曼编码优于等长二进制编码2应用题(1)已知如图6.27所示的有向图,请给出:1每个顶点的入度和出度;2邻接矩阵;3邻接表;4逆邻接表。隹点-,)-出鹰0L10.32-4IEIR*C&4IE(豹邻畏叢 (4)55接農* A上 _*r? 1.411 *wnn2 AOE网G如下所示,求关键路径。(要求标明每个顶点的最早发生时间和最迟发生时间,并画出关键路径)(1)最早发生时间和最迟发生时间:(2)关键路径:顶点vevlv0v1v2v36v4v58(2)已知如图6.28所示的无向网,请给出:1邻接矩阵;2邻接表;3最小生成树图6.28 无a b c d e434 5 53 5
5、 5559 75 47 6 53 2bta9dct t t t(3)已知图的邻接矩阵如 先生成树和广度优先生成树。6.29所示。试分别画出自顶点1出发进行遍历所得的深度优(2)根据prim算法,求图G从顶点1出发的最小生成树,要求表 示出其每一步生成过程。(用图或者表的方式均可)。图6.29 邻接矩6 1 56 5 31 5 5 6 45 5 23 6 64 2 6(1)广度优先遍历序列:1; 2, 3, 4; 5; 6最小生成树(prim算法)(5)设哈希表的地址范围为 017,哈希函数为:H (key) =key%16。用线性探测法 处理冲突,输入关键字序列: (10,24,32,17,3
6、1,30,46,47,40,63,49),构造哈 希表,试回答下列问题:1画出哈希表的示意图;2若查找关键字63,需要依次与哪些关键字进行比较?3若查找关键字60,需要依次与哪些关键字比较?4假定每个关键字的查找概率相等,求查找成功时的平均查找长度。画表如下:711121314151617326349244030314647查找63,首先要与H(63)=63%16=15号单元内容比较,即 63 vs 31 ,no;然后顺移,与46,47,32,17,63 相比,一共比较了 6次!3查找60,首先要与H(60)=60%16=12号单元内容比较, 但因为12号单元为空(应当有空标 记),所以应当只
7、比较这一次即可。4对于黑色数据元素,各比较 1次;共6次;对红色元素则各不相同,要统计移位的位数。 “63”需要6次,“49”需要3次,“40”需要2次,“ 46”需要3次,“ 47”需要3次,所以 ASL=1/11 (6+ 2+ 3 X 3+6 )= 23/11设散列表的长度为m=13,散列函数为H(k)=k MOD m ,给定的关键码序列为 19 , 14 , 23 , 1 , 68 , 20, 84 , 27, 55 , 11 , 13, 7, 试写出用线性探查法解决冲突时所构造的散列表。表形态:01 2345 6789 10 11 1213 14 1 68 27 55 19 20 84
8、 7 23 111 1 2 1 4 3 1 1 3 3 1 1(2)在一棵空的二叉排序树中依次插入关键字序列为 12,7,17,11,16,2,13,9,21,4,请画出所得到的二叉排序树。2 1116 21验算方法: 用中序遍历应得到排序结果: 2,4,7,9,11,12,13,16,17,21(3)已知如下所示长度为 12 的表:(Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec)1试按表中元素的顺序依次插入一棵初始为空的二叉排序树,画出插入完成之后的 二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。2若对表
9、中元素先进行排序构成有序表,求在等概率的情况下对此有序表进行折半 查找时查找成功的平均查找长度。3按表中元素顺序构造一棵平衡二叉排序树,并求其在等概率的情况下查找成功的平均查找长度。解:C1)求得的二夏排序树如下图所旅*在等概率情况F査找成功的平均査找长度为ASL =吉1 X l+2X2 + 3X3 + 4X3 + 5X2 + 6Xl)*|xNovOct经排序后的表及在折半査找时找釧丧中元索所经比较的次数对腿如卜1一 _ 一 Apr Aug Det Feb Jan July June Mar May Nov Oct Sept342341342434等概率悄况下査找成功时的平均査找长度为ASL.
10、 = (1 X1 + 2X2 + 3X4 + 1X5)=|它在等槪率情况下的均査找长度为 38ASL =書(1 Xl+2X2+3X + 4X4 + 5Xl)=j2堆排序第一步,形成初始大根堆(详细过程略),第二步做堆排序。初始排序不是大根堆形成初始大根堆交换1与10对象交换1与9对象从1到8重新形成堆交换1与8对象从1到7重新形成堆交换1与6对象从1到5重新形成堆交换1与5对象从1到4重新形成堆交换1与4对象从1到3重新形成堆16*1820 28得到结果交换1与2对象91、对于如下图请画出其用 prim和kruskal两种不同算法生成最小生成树的各条边的并入顺序。画出最小生成树。并写出广度优先
11、和深度优先的结点遍历顺序。92、 什么是静态查找,什么时动态查找,什么叫平均查找长度。93、 用序列(46, 88,45, 39,70,58, 101,10,66,34)建立一个二叉排序树,画出该 树,并求在等概率情况下查找成功的平均查找长度。0 0 094、已知一个线性表(38, 25, 74, 63, 52, 48),假定采用h(k)=k%7计算散列地址进行散列存储,若引用线性探测的开放地址法解决冲突,则在该散列表上进行检索的平均检索长度为多少, 若利用连地址法处理冲突, 则在该散列表上进行检索的平均查找长度为多少?设地址空间为 9。请画出算列表。96、已知长度为 12 的表:(Jan , Fed , Mar , Apr , May , Jun , Aug , Sep , Oct , Nov , Dec )按表 中元素的顺序,依次插入一棵初始为空的二叉排序树, 画出插完之后的二叉排序树,并求其 在等概率情况下,查找成功的平均查找长度。98、有散列函数为 h(k)=k%11,如果用二次探测在散列的方式解决冲突, 49应放入哪?386184
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1