首页 > 试题广场 >

说一下B+树和B-树?

[问答题]
请你说一下,B+树和B-树?

一个 m 阶的B树是一个有以下属性的树:

  1. 每一个节点最多有 m 个子节点
  2. 每一个非叶子节点(除根节点)最少有 ⌈m/2⌉ 个子节点
  3. 如果根节点不是叶子节点,那么它至少有两个子节点
  4. 有 k 个子节点的非叶子节点拥有 k − 1 个键
  5. 所有的叶子节点都在同一层

B树和B+树的区别

  1. B+树中只有叶子节点会带有指向记录的指针,而B树则所有节点都带有,在内部节点出现的索引项不会再出现在叶子节点中。
  2. B+树中所有叶子节点都是通过指针连接在一起,而B树不会。

B+树优点:

  1. 中间节点全是索引节点,一个是可以降低树的高度,另一个是一个中间节点可以索引到更多的记录
  2. 可以直接在叶子节点层横向遍历,b树想要遍历则需要叶子节点和上层节点不停往返。
发表于 2019-03-31 17:02:27 回复(0)

沙发沙发

发表于 2019-07-02 15:36:06 回复(0)
①B-树的叶子结点不含任何信息,而B+树的叶子结点含信息(关键字及其记录等)。 ②B-树上的叶子结点不会指向它的兄弟结点,而B+树上的叶子结点会指向它的兄弟结点。 作点解释:这些叶子结点一个指向一个,最终连接成一个链表。 ③B-树只能进行分区间查找,而B+树上可以有两种查找:顺序查找和分区间查找。 ④B-树上所有的非叶结点都满足有n个关键字的话有n+1棵子树,而B+树上所有的非叶结点含n个关键字的话只含n棵子树。
发表于 2019-04-25 17:38:04 回复(0)
df
发表于 2019-03-14 16:41:10 回复(0)