树
树
层次管理具有更高的效率
节点的度:结点的子树个数
树的度:树中所有节点中最大的度
叶子节点:度为0的结点
使用二叉树解决编码问题
哈夫曼树:
- 构造一棵二叉树,该树的 带权路径长度 达到最小
- 称为最优二叉树,也称为哈夫曼树(Huffman Tree)
- 每次把权值最小的两棵二叉树合并
- 左边权值比右节点小
- 只有叶子节点放数据
二叉排序树
- 左子树所有值都小于根节点
- 右子树所有值大于根节点
平衡二叉树
-
一颗二叉排序树
-
树的高度最低,树查找的效率取决于树 的高度;
-
平衡二叉树的调整
红黑树
- 特殊的二叉查找树
- 根节点是黑色
- 所有NULL节点称为叶子节点,且认为颜色为黑
- 所有红色节点的子节点都为黑色
- 从任一节点到其叶子节点的所有路径都包含相同的黑节点
查找的时候 最坏的路径也就比最短的长一倍