B+树的Java实现
B+树 B+ Tree定义B+树是一种多路平衡查找树,是对B树(B-Tree)的扩展.首先,一个M阶的B树的定义为: 每个节点最多有M个子节点; 每一个非叶子节点(除根节点)至少有ceil(M/2)个子节点; 如果根节点不是叶子节点,那么至少有两个子节点; 有k个子节点的非叶子节点拥有k-1个键,键按照升序排列; 所有叶子节点在同一层; 从定义可以看出来,一个M阶的B树,其叶子节点必须在同一层,每一个节点的子节点数目和键数目都是有规定的.其实不看定义,简单来说,B树是平衡的,而且非叶子节点的子节点是有限制的.最重要的一点是,B树的键是有序的,节点内部的键从左到右依次增大,而且对应的子节点的最小值和最大值在左右两个键之间,这样可以尽可能减少IO次数,提高查询效率.而B+树基本定义与B树相同,不...阅读全文