数据结构--树--B+树--与B树的比较

定义:(以下来自百度百科)

(1)每个节点至多有m个子女;

(2)除根节点外,每个节点至少有floor(m/2)个子女,根节点至少有两个子女;

(3)有k个子女的节点必有k个关键字。

 

个人理解:

网上对B+树的定义各不相同,如有的说有k个子女的节点必有k-1个关键字,如我研究树结构时常用的网站https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html就是如此,甚至百度百科自己也有自相矛盾的说法,如下:

数据结构--树--B+树--与B树的比较_第1张图片

在定义中它说每个节点最多有m个子女,有k个子女的节点必有k个关键子,但在节点结构中又说除了根节点外的每个节点最多m-1个元素,确实让人看着头大...

但这种小细节不影响,自己理解就好,本文按百度百科的定义来行文

 

B树与B+树的不同点:

1. 每个节点的关键字数和子节点数的对应关系不同

B树: 每个节点的关键字数加1等于子节点数

B+树:每个节点的关键字数等于子节点数

2. 每个节点包含的关键字数

你可能感兴趣的:(数据结构,数据结构)