数据结构——树

Mr.Jia 2023-9-28 426 9/28

树(排序树、搜索树、查询树都是一个意思)

树分为:一般树、二叉树、多叉树

二叉树实现的查询树:二叉排序树(BST)、平衡二叉排序树(AVL)、黑红树

多叉树实现的查询树:B树、B+树(对B树进行了改进更方便查询)


 

B树和B+树的部分区别

其一:B树中的非叶子节点可以存储数据

其二:而B+树的非叶子节点只存储键值对的索引。B+树的叶子节点存储着所有的数据记录,并且通过链表连接起来,形成一个有序的链表结构,这样可以支持范围查询和顺序遍历。

因此,在B+树中,如果若需要查找某个特定的数据记录,可以通过从根节点开始,依次向下遍历树的分支,最终到达叶子节点并在叶子节点上进行顺序搜索,这样可以高效地找到对应的数据。而对于范围查询,也可以从根节点出发,按照范围的顺序遍历叶子节点的链表,获取所需的数据记录。

相比之下,虽然B树也可以存储数据在非叶子节点上,但在查询时可能需要递归地遍历多个层级,而且结果可能不是有序的。而B+树通过将数据全部存储在叶子节点上,并通过链表连接起来,可以提供更高效的范围查询和顺序访问性能。

这也是为什么B+树总比B树显得"矮胖"的原因

 


 

 

 


拓展:写博客时陌生的树

树型查询:Trie树(字典树、前缀树)

二叉:Splay树(伸展树)、Treap(树堆)、替罪羊树

多叉:2-3树、2-3-4树、B*树

- THE END -

Mr.Jia

5月24日14:12

最后修改:2024年5月24日
0

非特殊说明,本博所有文章均为博主原创。

共有 1 条评论