美文网首页
各种树形结构的对比

各种树形结构的对比

作者: mundane | 来源:发表于2022-03-18 16:27 被阅读0次

二叉树

特点:
左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大。

如图:


平衡二叉树(avl树)

https://blog.csdn.net/bjweimengshu/article/details/106774187

  1. 具有二叉查找树的全部特性。
  2. 每个节点的左子树和右子树的高度差至多等于1

2-3树

https://mp.weixin.qq.com/s/yDBlQofHk8Yh3cXvInocUw
2-3树是一种非常巧妙的结构,在保持树结构的基础上,它允许在一个节点中可以有两个元素,等元素数量等于3个时候再进行调整。通过这种方式呢,来保证整个二叉搜索树的平衡性。

红黑树

https://zhuanlan.zhihu.com/p/139907457

  1. 结点是红色或黑色。
  2. 根结点是黑色。
  3. 所有叶子都是黑色。(叶子是 NIL 结点)。
  4. 每个红色结点的两个子结点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色结点)。
  5. 任意一节点到每个叶子节点的路径都包含数量相同的黑节点


b树

https://zhuanlan.zhihu.com/p/54084335

b树的概念太繁琐先不讲,演示一下b树的查找流程



如上图我要从上图中找到E字母,查找流程如下:

  1. 获取根节点的关键字进行比较,当前根节点关键字为M,E<M(26个字母顺序),所以往找到指向左边的子节点(二分法规则,左小右大,左边放小于当前节点值的子节点、右边放大于当前节点值的子节点);

  2. 拿到关键字D和G,D<E<G 所以直接找到D和G中间的节点;

  3. 拿到E和F,因为E=E 所以直接返回关键字和指针信息(如果树结构里面没有包含所要查找的节点则返回null)

b+树

https://zhuanlan.zhihu.com/p/54102723

B+树的特征:

  1. 有k个子树的中间节点包含有k个元素(B树中是k-1个元素),每个元素不保存数据,只用来索引,所有数据都保存在叶子节点。
  2. 所有的叶子结点中包含了全部元素的信息,及指向含这些元素记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。
  3. 所有的中间节点元素都同时存在于子节点,在子节点元素中是最大(或最小)元素。


相关文章

  • 各种树形结构的对比

    二叉树 特点:左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大。 如图: 平衡二叉树(avl树) http...

  • js 数组与树形结构对象相互转换

    数组 树形结构对象 数组转成树形结构 树形结构转成数组

  • 机器学习的算法-用最简单的例子理解

    1、 DT:决策树(Decision Tree) 决策树,是树形结构,通过树形结构将各种情况组合都表示出来,每次分...

  • json杂记

    18.7.221、返回属性结构,只要构建真正的树形结构,然后返回即可。@responseBody会将各种数据结构按...

  • 【恋上数据结构与算法一】(六)二叉树

    二叉树 线性结构 树形结构 二叉树 多叉树 生活中的树形结构 ◼ 使用树形结构可以大大提高效率◼ 树形结构是算法面...

  • 十、二叉树(Binary Tree)

    1、树形结构 之前所讲的那些数组、链表、栈、队列等都是线性结构。 下面就是树形结构: 为什么要用到树呢?使用树形结...

  • 树形结构(一):二叉树

    树形结构是指数据元素之间存在“一对多”(One-to-Many)的树形对应关系而形成的一类数据结构,树形结构是一类...

  • 树形结构

    树是一种分层数据的抽象模型。它和散列表一样是一种非顺序数据结构,它对于存储需要快速查找的数据非常有用。 树的相关术...

  • 树形结构

    数据结构中的元素存在一对多的相互关系 二叉树 2. 非二叉树 3. 自平衡二叉查找树 4. B树 5. Trie ...

  • 树形结构

    今天听到门卫回答一路人关于核酸检测何时结束的问题,门卫说,他们也没有收到通知,不知道几点结束。 我眼前顿时浮现了一...

网友评论

      本文标题:各种树形结构的对比

      本文链接:https://www.haomeiwen.com/subject/rqoidrtx.html