06.树与二叉树研究.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、Huffman编码实现 第六节 赫夫曼树及其应用 第6章 树与二叉树 编码从叶子结点开始。对每个叶子结点k , ① 初始令start = n-2 ② parent = HT[k].parent; 若HT[parent].lchild = k; 则code[start] =0; 若HT[parent].rchild = k; 则code[start] =1 ; k = parent; start--; ③ 重复②直至HT[p].parent = 0; ④ 每个字符的编码值为code[start+1…n-2]; 以电文‘ABACCDA’的A、B字符编码为例说明编码过程。 A 3 6 0 0 B 1 4 0 0 C 2 5 0 0 D 1 4 0 0 2 5 1 3 4 6 2 4 7 0 0 5 0 1 2 3 4 5 6 A:0 A字符的code变化: \0 start: 2 B:110 B字符的code变化: \0 start:2 start:1 \0 start:0 \0 第六节 赫夫曼树及其应用 第6章 树与二叉树 练习:对电文‘abbaccdeec‘进行Huffman编码。 画出生成的静态链表---Huffman树和各字符编码 最后形成的code数组。 第六节 赫夫曼树及其应用 第6章 树与二叉树 练习:假设某班成绩分布如下表: 分数 60 60~69 70~79 80~89 90 比例数 0.03 0.04 0.5 0.3 0.13 为查找某一分数段同学成绩,需进行比较。试构造二 叉树,使得总比较次数最少。 设深度为h的二叉树上只有叶子结点和同时具有左右子树的结点,则此类二叉树中所包含的结点数目至少为_____。 A.2h???????????? B.2h-2 ???????? ?C.2h+1????????? ?D.2h-l ? 练习 二叉树的深度为k,则二叉树最多有____个结点。 ? A.2k??????????? ?B.2k-1????????????? C.2^(k-1) D.2^k-1 练习 * * * * * 五、森林的遍历 * 第五节 树与森林 2. 中序遍历 若森林不空,则 中序遍历森林中第一棵树的子树森林; 访问森林中第一棵树的根结点; 中序遍历森林中(除第一棵树之外)其余树构成的森林。 第6章 树与二叉树 即:依次从左至右对森林中的每一棵树进行后根遍历。 A F H B C D G I J E K 中序遍历: BCEDAGFKIJH 五、森林的遍历 第五节 树与森林 第6章 树与二叉树 2. 中序遍历 思考? 当树以二叉链表(孩子兄弟表示法)进行存储,则树的先根遍历和后根遍历与二叉树的遍历算法有什么关系? 树的先根-----二叉树的先序 树的后根-----二叉树的中序 遍历的对应关系 先根遍历 后根遍历 树 二叉树 森林 先序遍历 先序遍历 中序遍历 中序遍历 练习 1.若一个二叉树具有8个度为2的结点,7个度为1的结点,则度为0的结点(叶子)个数是_____。 2.具有n个结点的二叉树中,一共有___个指针域,其中____个用来指向结点的左右孩子,有____个为NULL。 练习 3.假定用一维数组a[7]顺序存储一个循环队列,队首和队尾指针分别用front和rear表示,当前队列中已有4个元素:12,23,78,60,其中12为队首元素,front的值为3,请画出对应的存储状态。当连续做2次出队运算后,再让15,36,40,50,60元素依次进队,分别画出队、入队后对应的存储状态。 练习 4.二叉树的中序和后序遍历结果分别为EFBCGHIDA和FEIHGDCBA。 (1) 画出该树,求其先序遍历的结果; (2)将其转换为树,画出转换后的树。 (3)求其先根、后根遍历序列。 一、最优二叉树 * 第六节 赫夫曼树及其应用 路径:从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径 路径长度:路径上的分支数目 树的路径长度:从树根到  每个结点的路径长度之和 右树路径长度为:  2*1 + 3*2 + 1*3 = 11 第6章 树与二叉树 A D B F C G E 一、最优二叉树 * 第六节 赫夫曼树及其应用 结点的带权路径长度:从结点到树根之间的路径长度与结点上权的乘积 树的带权路径长度(WPL):树中所有叶子结点的带权路径长度之和 WPL = 2*5+3*3+2*4=27 第6章 树与二叉树 A D B F C G E 5 3 4

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档