森林,树
【树的存储结构】:我们可以分为【顺序存储】,【链式存储】(似乎所有的逻辑结构都可以链式存储或顺序存储)
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
写到叶节点前面的边
【哈夫曼编码的作用】:可以设计出总长度最短的二进制编码。