树(排序树、搜索树、查询树都是一个意思)
树分为:一般树、二叉树、多叉树
由二叉树实现的查询树:二叉排序树(BST)、平衡二叉排序树(AVL)、黑红树
由多叉树实现的查询树:B树、B+树(对B树进行了改进更方便查询)
B树和B+树的部分区别
其一:B树中的非叶子节点可以存储数据,
其二:而B+树的非叶子节点只存储键值对的索引。B+树的叶子节点存储着所有的数据记录,并且通过链表连接起来,形成一个有序的链表结构,这样可以支持范围查询和顺序遍历。
因此,在B+树中,如果若需要查找某个特定的数据记录,可以通过从根节点开始,依次向下遍历树的分支,最终到达叶子节点并在叶子节点上进行顺序搜索,这样可以高效地找到对应的数据。而对于范围查询,也可以从根节点出发,按照范围的顺序遍历叶子节点的链表,获取所需的数据记录。
相比之下,虽然B树也可以存储数据在非叶子节点上,但在查询时可能需要递归地遍历多个层级,而且结果可能不是有序的。而B+树通过将数据全部存储在叶子节点上,并通过链表连接起来,可以提供更高效的范围查询和顺序访问性能。
这也是为什么B+树总比B树显得"矮胖"的原因
拓展:写博客时陌生的树
树型查询:Trie树(字典树、前缀树)
二叉:Splay树(伸展树)、Treap(树堆)、替罪羊树
多叉:2-3树、2-3-4树、B*树
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://jiaheming.cn/2023/09/%e6%95%b0%e6%8d%ae%e7%bb%93%e6%9e%84-%e6%a0%91/

共有 1 条评论