数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)

AVL

AVL树要求:
(1) 任一节点的左子树深度和右子树深度相差不超过1
(2)其根的左右子树都是二叉平衡树
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》

红黑树

应用于set,map,linux进程调度,epoll的sockfd管理,java中TreeMap的实现

红黑树是每个节点都带有颜色属性的二叉查找树,颜色或红色或黑色。
红黑书要求:
(1)节点是红色或黑色。
(2)根节点是黑色。
(3)每个叶节点是黑色的。
(4)每个红色节点的两个子节点都是黑色。
(5)从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》

Treap

可实现优先级队列

一棵treap是一棵修改了结点顺序的二叉查找树,通常树内的每个结点x都有一个关键字值key[x],treap的结点排列成让关键字遵循二叉查找树性质,并且优先级遵循最小堆顺序性质:
(1)如果v是u的左孩子,则key[v] < key[u].
(2)如果v是u的右孩子,则key[v] > key[u].
(3)如果v是u的孩子,则priority[u] > priority[u].
它同时具有二叉查找树和堆的特征。
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》

b树

B树是一种查找树,阶为M的B树是一颗具有下列结构特性的树:
树的根要么是一片叶子节点,要么根的儿子数在2和M之间
除根之外,所有非叶子节点的儿子数在ceil(M/2)和M之间
所有的叶子节点都在相同的深度上。
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》

B+树

B+树与B树的区别在于这么几点:
(1) B+树的内部节点(也就是非叶子节点)有n个关键字,同时有n个儿子。这和B树不同,B树的内部节点有n个儿子,但只有n-1个关键字。
(2) B+树只有叶子节点才包含行数据,而内部节点仅仅只有关键字信息和儿子的指针(这里的指针实际上就是磁盘块的文件偏移量),也就是说内部节点仅仅包含索引信息。
(3) B+树中的数据都存在于叶子节点中,因此所有叶子节点加在一起所组成的集合包含了所有关键字的信息以及关键字对应的行数据,而B树所有叶子节点加在一起所组成的集合并未包含所有的关键字,因为有些关键字处在内部节点中。
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》

b树与b+树比较:
(1)查找时B树与B+树查询路径相同但B+树结点相对B树更小。
(2)遍历B+树的叶子结点就可以实现整颗树的遍历,而B树不支持此操作。
故B+树的使用更加广泛。可用作操作系统的文件索引,数据库的数据引擎,磁盘文件组织。

Tire树

Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。 典型应用是用于统计和排序大量的字符串(但不仅限于字符串), 所以经常被搜索引擎系统用于文本词频统计。
前缀树:字符串快速检索,字符串排序,最长公共前缀,自动匹配前缀显示后缀。
后缀树:查找字符串s1在s2中,字符串s1在s2中出现的次数,字符串s1,s2最长公共部分,最长回文串。
radix tree:linux内核,nginx。
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》

2-3树

2-3树是最简单的B-树(或-树)结构,其每个非叶节点都有两个或三个子女,而且所有叶都在统一层上。2-3树不是二叉树,其节点可拥有3个孩子。不过,2-3树与满二叉树相似。高为h的2-3树包含的节点数大于等于高度为h的满二叉树的节点数,即至少有2^h-1个节点。
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》

2-3-4(2-4)树

2-3-4 树中节点和存储的元素符合如下性质要求:

(1)任一节点只能是 2 度节点、3 度节点或 4 度节点,不存在元素数为 0 的节点。
2 度节点:包含 1 个元素的节点将只能有 2 个子节点;
3 度节点:包含 2 个元素的节点将只能有 3 个子节点;
4 度节点:包含 3 个元素的节点将只能有 4 个子节点;
(2)所有叶子节点都拥有相同的深度(depth)。
(3)元素始终保持排序顺序。
《数据结构平衡树汇总(AVL 红黑树 Treap B树 B+树 2-3 2-4)》
不同的平衡查找树的高度(height):

AVL 树:高度 ≤ (1.44042..)log2 n
红黑树:高度 ≤ 2*log2 (n+1)
2-3 树:高度 ≤ log2 n
2-3-4 树:高度 ≤ log2 n

    原文作者:B树
    原文地址: https://blog.csdn.net/weixin_37645543/article/details/73294790
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞