- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
树和二叉树的关系
6.4.1 树的存储结构
6.4.2 树、森林与二叉树的相互转换
6.4.3 树与森林的转换;6.4.1 树的存储结构;一、 双亲表示法:;双亲表示法的优点:
利用了树中每个结点(根结点除外)只有一个双亲结点的性质,使得查找某个结点的双亲结点非常容易。 ;#define MAX 100
typedef struct TNode
{ DataType data;
int parent;
}TNode; ;二、 孩子表示法:;孩子表示法示意图:;孩子表示法的结构定义:;三、 孩子兄弟表示法;孩子兄弟表示法示意图:;;一、 树转换为二叉树;树转换为二叉树示意图;森林转换为二叉树的方法为:;森林转换为二叉树示意图;递归方法描述森林转换为二叉树:;二叉树转换为树或森林的方法为:;二叉树转换为森林的示意图; 若B是一棵二叉树,T是B的根结点,L是B的左子树,R为B的右子树,设B对应的森林F(B)中含有的n棵树为T1,T2, …,Tn,则有: ;6.4.3 树与森林的遍历;若树非空,则遍历过程为:;;二、树的遍历算法;三、森林的遍历;若森林非空,则遍历方法为:; 先序遍历森林时顶点的访问次序:; 树和森林的遍历和二叉树遍历的对应关系 ?;3、森林的后序遍历*;6.5 哈夫曼树及其应用;路径:从一个结点到另一个结点之间的分支
序列。;带权路径长度:在树形结构中,我们把从树根到某一结点的路径长度与该结点权的乘积,称做该结点的带权路径长度。;例如下图所示的三棵二叉树;什么样的树的带权路径长度WPL最小?; 在各种形态的含有 n个叶子结点的 二 叉树中, 必存在一棵(几棵)其带权路径长度值WPL 最小的树,被称为“最优二叉树” 。 ;二、哈夫曼树的构造; 在 F 中选取其根结点的权值为最小的两棵二叉树, 分别作为左、右子树构造一棵新的二叉树, 并置这棵新的二叉树根结点的权值为其左、右子树根结点的权值之和;;例如:;三、哈夫曼算法的实现;静态三叉链表结构定义;2、哈夫曼算法;void CrtHuffmanTree(HuffmanTree ht , int w[], int n)
{ /* w存放已知的n个权值,构造哈夫曼树ht */
} ;; 哈夫曼树最典型的应用是在编码,利用哈夫曼树,可以得到平均长度最短的编码。;二、哈夫曼编码:;7;结论一:哈夫曼编码是前缀码。;三、哈夫曼编码应用举例;则指令的平均码长为:;四、哈夫曼编码算法; 由哈夫曼树生成编码时, 编码存储在多个字符数组中, 每个数组表示一个叶子结点的编码。;CrtHuffmanCode(HuffmanTree ht,HuffmanCode hc,int n)
/*从叶子到根,逆向求每个叶子对应的哈夫曼编码*/; 由哈夫曼编码、译码的算法可知:树中每个结点需要有双亲和孩子的指针, 而前述构造哈夫曼树算法中的静态三叉链表已提供了相应的信息。;6.6 总结与提高; 4. 了解二叉树线索化的实质是建立结点与其在相应遍历序列中的前驱或后继之间的直接联系。二叉树的线索化过程是基于对二叉树进行遍历,而线索二叉树上的线索又为相应的遍历提供了方便。; 5. 熟悉树的各种存储结构及其特点,掌握树和森林与二叉树的转换方法。建立存储结构是进行其它操作的前提,因此应掌握 1 至 2 种建立二叉树和树的存储结构的方法。 ;典型例题;2、层次遍历二叉树;第六章结束;选择最小子树算法;问题1:;因为深度为h的完全二叉树的路径长度为:
您可能关注的文档
- 木本园林植物_月季.ppt
- 服务创造竞争优势[低柜推动].ppt
- 未选择的路_弗罗斯特.ppt
- 期货品种介绍[详细PPT课件版].ppt
- 本命年回想修改4ppt.ppt
- 本科(正式)_妊娠期肝内胆汁淤积症.ppt
- 未雨绸缪和亡羊补牢.ppt
- 本命年回想课件[孙华].ppt
- 本班同学近视情况的调查和其原因的分析.ppt
- 朱熹“泛舟》立意6.ppt
- 2023年陕西省商洛市柞水县两河乡招聘社区工作者真题参考答案详解.docx
- 2023年陕西省延安市宝塔区青化砭镇招聘社区工作者真题参考答案详解.docx
- 2023年陕西省汉中市西乡县罗镇乡招聘社区工作者真题及参考答案详解.docx
- 2023年陕西省延安市洛川县永乡招聘社区工作者真题及答案详解1套.docx
- 2023年陕西省商洛市商州区三岔河乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省宝鸡市陇县八渡镇招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省延安市洛川县石泉乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省商洛市商州区沙河子镇招聘社区工作者真题附答案详解.docx
- 2023年陕西省咸阳市礼泉县赵镇招聘社区工作者真题及参考答案详解1套.docx
- 2023年陕西省商洛市丹凤县留仙坪乡招聘社区工作者真题及参考答案详解一套.docx
文档评论(0)