`B trees` 和 `B+ trees` 都是自平衡的有序树形数据结构,它们以支持高效插入、删除和查找的方式维护有序数据。`B tree` 是一种每个节点可拥有多个键、可有超过两个子节点的树形结构。`B tree` 的每个内部节点可包含数量不定的键和指针,这些键充当分隔值,把各个子树划分开来。`B tree` 的一个重要特性是:节点中的每个键也会出现在父节点中。而 `B+ tree` 是 `B tree` 的扩展,支持高效的数据遍历。在 `B+ tree` 中,数据指针只存储在叶节点上,因此 `B+ tree` 的所有叶节点构成一个链表,中间节点只用键来辅助查找。