1
A
回答
3
在Wikipedia页面上有一个解释。 B-tree - Deletion
1
如果你还没有,我强烈建议卡门& al 算法简介第3版。
它没有被描述,因为操作自然来自B-Tree属性。
由于您对节点中元素数量的下限,如果删除元素违反了这个不变量,那么您需要恢复它,这通常涉及与邻居合并(或窃取其中的一些元素) 。
如果与邻居合并,则需要移除父节点中的元素,这会触发相同的算法。你递归地申请,直到你到达顶端。
B-Tree没有重新平衡(至少不是我看到的),所以维护一棵红黑树或一棵AVL树可能不那么复杂,这可能是为什么人们不会被迫写关于去除。
0
关于哪些b-树你在说什么?有链接的叶子或不?此外,删除项目有不同的方式(上下,下下等)。本文可能有帮助:B-trees, Shadowing, and Clones(即使有许多文件系统特定的相关内容)。
0
从CLRS(第2版)的删除例子可以在这里找到:http://ysangkok.github.io/js-clrs-btree/btree.html
按“初始化书”,然后按以删除按钮。这将涵盖所有情况。在推动每个按钮之前尝试并预测新的树状态,并尝试识别这些情况是如何独特的。
相关问题
- 1. 如何从DOM中删除子元素时删除父元素?
- 2. 从元素中删除元素而不删除元素后
- 3. 如何从列表中删除元素
- 4. 如何从jlist中删除元素?
- 5. 如何从结构中删除元素
- 6. 如何从hsearch中删除元素
- 7. 如何从矢量中删除元素?
- 8. 如何从对象中删除元素?
- 9. 如何从数组中删除元素?
- 10. 如何从数组中删除元素?
- 11. 如何从Vector中删除元素?
- 12. 如何从地图中删除元素
- 13. 从arraylist中删除元素
- 14. 从堆中删除元素
- 15. 从元素中删除jScrollPane
- 16. 删除元素,并从列表中删除下列元素
- 17. 如何从数组中删除相同元素的元素
- 18. 如何删除RealmList元素?
- 19. 如何删除dat.GUI元素?
- 20. 如何删除li元素
- 21. 如何删除XML元素而不从元素的尾部删除内容?
- 22. 从元组列表中删除元素
- 23. 删除元素从对象
- 24. C++在for_each期间从擦除元素中删除元素
- 25. 从Cython中删除std:vector中的元素
- 26. 如何删除数组中的元素
- 27. Angular2如何删除ng中的元素
- 28. 如何删除列表中的元素?
- 29. 删除元素
- 30. 删除元素
哈哈,的确如此:我也注意到,大多数书籍似乎都是在B-tree中作为练习给读者去除的......这些混蛋。 ;-) – 2011-03-03 20:25:28