数据结构第五章学习总结

一、本章内容小结

本章主要学习了树(普通树、二叉树、森林、哈夫曼树等)的相关知识。

1.树:

n个(n>=0)个结点构成的有限集合。

特殊情况:二叉树

二叉树性质:

(1)第i层上至多有2^(i-1)个结点

(2)深度为i的二叉树至多有2^i - 1个结点

(3)对任何一棵二叉树T,如果叶子结点数为n0,度为2的结点数为n2,则n0=n2+1

(4)具有n个结点的完全二叉树的深度为log2(n)(向下取整)+1

遍历二叉树:先序、中序、后序遍历

2.森林

由若干棵树组成。

森林转换为二叉树:若干棵树先分别转化为二叉树,再依次将当前二叉树的根节点作为前一棵树根节点的右孩子连接,这样若干二叉树连接起来就得到转换而来的二叉树。对于每一个结点,左是孩子,右是兄弟。

二叉树转换为森林:从根节点开始,若右孩子存在,则与右孩子连线删除,再看分离后的二叉树,若右孩子存在,则连线删除。后续以此类推,知道右孩子连线都删除为止。分离后的二叉树转换为树即可。

3.哈夫曼树

结点集合中,选取权重最小的两个结点作为左右孩子,权重相加后形成新的结点加入集合继续进行选取结合,以此类推得到的二叉树则为哈夫曼树。

哈夫曼树又称最优树,KMP最小,可以减少编码存储所需空间。

你可能感兴趣的:(数据结构第五章学习总结)