欢迎光临散文网 会员登陆 & 注册

森林,树

2023-02-17 14:40 作者:Poyo_a  | 我要投稿

树的存储结构】:我们可以分为【顺序存储】,【链式存储】(似乎所有的逻辑结构都可以链式存储或顺序存储) 

   chapter1:双亲表示法:

                【一组连续的空间来存储每个【节点】+【伪指针(指示其双亲的位置)】,由于只有【唯一双亲】的兴致,我们可以快速找到【双亲节点】,如果要找到它的孩子:要遍历树。

chapter 2:孩子表示法

    【娃娃】用【单链表连接】起来形成线性结构。【n个结点,有n个孩子链表】。

  chapter2.1:孩子兄弟表示法:


chapter3:树,森林与二叉树的转换

  二叉树和树都可以用【二叉链表】存储。所以,二叉树和树之间有一个对应关系。

 chapter3.1  树转换成为二叉树的规则:

树----转换成为【二叉树】:规则:左孩子右兄弟

【画法】:【兄弟节点加一条线,】【每个节点保留第一个孩子,其他删掉,】【以树根为轴心顺时针45度】。


chapter4 树与二叉树的应用

    chapter4.1 哈夫曼树和哈夫曼编码

 首先,我们先引入【权】这个概念,【权】和他相关的是【结点】,权的含义是结点【数值大小】。

【带权路径长度】:【叶子】经过的边数 * 对应的权 = WPL

这样我们就可以量化二叉树了

然后由路径*权得到的【最小带权路径长度】得到 最小的二叉树(”小名“),也叫哈夫曼树(“大名”)。


chapter 4.2 哈夫曼树构造(权值给定的结点给他构造哈夫曼树)

https://www.bilibili.com/video/BV1wX4y1M7TG/?spm_id_from=333.337.search-card.all.click&;vd_source=6554414bb833d00936eedd5ecc0d9f26

具体过程我不赘述了,多做俩题就会了。(就是注意编码方向)

chapter4.3哈夫曼编码:

            1.将哈夫曼树写出来,左孩子为0,右孩子为1

           写到叶节点前面的边

 【哈夫曼编码的作用】:可以设计出总长度最短的二进制编码。




                                     

森林,树的评论 (共 条)

分享到微博请遵守国家法律