霍夫曼树 二三树 红黑树 B树 B+树
Posted jhc888007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了霍夫曼树 二三树 红黑树 B树 B+树相关的知识,希望对你有一定的参考价值。
- 霍夫曼树:
特点:带权路径长度最短,∑(每个节点的权重)*(每个节点的层数)
生成:每次合并权值最小的两个节点(子树)建立二叉树,将合并后的子树作为新节点,权值为节点(子树)权值之和
- 二三树:
特点:平衡查找树,每个叶子节点为空且层数相同,查找时间复杂度O(lgn)
生成:2节点包含一个key和两个子节点(left->key<key<right->key),3节点包含两个key和三个子节点(left->key<key1<middle->key<key2<right->key);在(倒数第二层)2节点插入则直接加入,在(倒数第二层)3节点插入则需要进行节点分裂,并可能层层向上传播分裂
- 红黑树:
特点:相对最平衡的二叉树,每个叶子节点为空且路径包含相同数量的黑节点,红节点不连续存在且向左倾斜(可以把红节点与右侧黑节点看成一个3节点),查找时间复杂度O(lgn)
生成:根节点为黑色,尝试插入红节点,如果插入后不再平衡则进行左旋/右旋,如果插入后两个子节点都为红色则颜色反转
- B树:
特点:根节点包含1~m-1个key,至少有两个子节点,非根节点包含m/2~m-1个key,至少有m/2+1个子节点
生成:在叶子节点插入,如果节点满则分裂节点,一个key加入父节点,如果key满则递归向上
- B+树:
特点:类似B树,但所有key与data都在叶子节点分布
生成:类似B树
参考文献:
https://blog.csdn.net/aircattle/article/details/52347955
https://www.cnblogs.com/vianzhang/p/7922426.html
http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html
http://www.cnblogs.com/yangecnu/p/Introduce-2-3-Search-Tree.html
http://www.cnblogs.com/yangecnu/p/Introduce-Red-Black-Tree.html
https://blog.csdn.net/panglinzhuo/article/details/79437402
以上是关于霍夫曼树 二三树 红黑树 B树 B+树的主要内容,如果未能解决你的问题,请参考以下文章