- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中序遍历根结点的右子树。
* * 实验报告 课程:算法与数据结构 试验序号及名称二叉树的操作 一、实验目的:掌握二叉树的基本操作算法 二、实验环境:Tubor C 2.0 三、实验内容: ? 用前序遍历的方法创建一个二叉树, 输出前序、中序、后序遍历序列;编程计算树的高度,并查找指定的数据是否存在。 程序 四、实验结果: * * 小结 1.树的基本概念 2.二叉树概念,满二叉树,完全二叉树 性质1,2,3,4,5,6 3.二叉树的存储 4.二叉树遍历:DLR、LDR、LRD。 5.利用前序或后序,中序判定一棵二叉树 5.树的存储 7.树,二叉树,森林的转换 8.树,森林的遍历 9.哈夫曼树的构造及其编码算法 * 树型结构是一类重要的非线性结构。树型结构是结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。 * 符号?x?表示不大于x的最大整数,反之,「x┐表示不小于x的最小整数。 * 用一组地址连续的存储单元,以层序顺序存放二叉树的数据元素,结点的相对位置蕴含着结点之间的关系。 * 性质6 含有n个结点的二叉链表中,有n+1个空链域。 二叉树存储方法的选择,主要依赖于所要实施的各种运算的频度。 * 黑板上画这个过程 * 将一颗二叉树变成线索二叉树时,该二叉树的初始状态应该是:每个结点的左右线索标志域均为0,若结点有左孩子或右孩子,则相应的指针域应指向该孩子结点,否则指针域为空,以便在线索化的过程中加入线索。 * * 前缀编码:若要设计长度不等的编码,则必须是任一个字符的编码都不是另一个字符的编码的前缀,这种编码就是前缀编码。 * * 例题: 1.对下图所示的森林: (1)求各树的前序序列和后序序列; (2)求森林的前序序列和后序序列; (3)将此森林转换为相应的二叉树; (1) (a)的前序序列:ABCDEF 后序序列:BDEFCA????? (b)的前序序列:GHIJK 后序序列:IJKHG????? (c)的前序序列:LMPQRNO 后序序列:QRPMNOL? (2) 此森林的前序序列: ABCDEFGHIJKLMPQRNO????? 此森林的后序序列: BDEFCAIJKHGQRPMNOL * * 5.6.1 最优二叉树(哈夫曼树) 最优二叉树,也称哈夫曼(Haffman)树,是指对于一组带有确定权值的叶结点,构造的具有最小带权路径长度的二叉树。 什么是二叉树的带权路径长度呢? 5.6 哈夫曼树及其应用 * * 路径长度 (Path Length) 从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称作路径长度(PL)。 树的路径长度 从树根到每一个结点的路径长度之和。 结点的带权路径长度 从该结点到树根之间的路径长度与结点上的权的乘积。 * * 带权路径长度 (Weighted Path Length, WPL) 树的带权路径长度是树中所有叶子结点的带权路径长度之和,即树的各叶结点所带的权值 wi 与该结点到根的路径长度 li 的乘积的和。 记为: * * 1、 最优二叉树(哈夫曼树) 例如:下图中的3棵二叉树都有4个叶子结点a,b,c,d,它们的权重分别为7,5,2,4,这3棵二叉树的带权路径长度分别为: WPL = 2*2+ WPL = 2*1+ WPL = 7*1+ 4*2+5*2+ 4*2+5*3+ 5*2+2*3+ 7*2 = 36 7*3 = 46 4*3 = 35 带权路径长度达到最小 2 4 5 2 4 5 7 7 2 4 5 7 * * 假设有n个权值 ,试构造一棵有n个叶子结点的二叉树,使得每个叶子结点的权值为 ,则其中带权路径长度WPL最小的二叉树称为最优二叉树或者哈夫曼树。 1、 最优二叉树(哈夫曼树) 在解决某些判定问题时,利用哈夫曼树可以得到最佳的判定算法。 例如,要编制一个将百分制转换为五级分制的程序。 * * if (a60) b = 不及格; else if (a70) b = 及格; else if (a80) b = 中; else if (a90) b = 良; else b = 优; 考试成绩分布表 分数 0~59 60~69 70~79 80~89 90~100 比例数 0.05 0.15 0.40 0.30 0.10 * * 判
文档评论(0)