B-tree
mmmMMM12345
这个作者很懒,什么都没留下…
展开
-
B-tree B树的JS实现(三):删除元素
首先,B树必须满足:元素数=子节点数 - 1。 删除元素,会导致上述条件不满足。 对于可能会导致这种不满足的删除,需要考虑下面几种情况: 一:删除元素后,如果删除节点的叶子节点有丰满元素,向子节点借元素,子节点再向它的子节点借,只到叶子节点。 二:叶子节点没有丰满元素,子节点有,向子节点借后,子节点的子节点进行合并。 三:以上都不满足,向兄弟节点借。借的元素给父节点,然后父节点给删除节点一个元素。然后有以下两种情况: 1:兄弟节点有丰满元素,兄弟节点的叶子节点也有丰满元素,兄弟节...原创 2021-08-16 19:48:22 · 400 阅读 · 0 评论 -
B-tree B树的JS实现(一):添加元素
话不多说,直接上代码,B树的理论网上太多太多了,大家自行查找学习吧 const M = 3; class BTree { constructor() { /*只需要入口节点,即根节点*/ this.root = null; } addKey(key){ if(this.root === null){ this.root = new BTreeNode(); this.root.add(.原创 2021-07-19 18:18:39 · 444 阅读 · 0 评论 -
B-tree B树的JS实现(二):五阶B-tree添加元素
优化了一下分裂方式 const M = 5; class BTree { constructor() { /*只需要入口节点,即根节点*/ this.root = null; } addKey(key){ if(this.root === null){ this.root = new BTreeNode(); this.root.add(key); retur原创 2021-07-20 14:28:48 · 241 阅读 · 0 评论