【发布时间】:2015-07-16 14:29:30
【问题描述】:
我需要使用 Java 实现通用字典,这将允许高效的 O(logN) 或更好的插入、删除和随机访问。
我的问题是:对于大量的插入和删除,哪种类型的树会给我最好的时间性能? AVL、RB、二叉搜索、Splay 还是 B 树?
【问题讨论】:
-
像AVL、RB树这样的自平衡树总是有较高的插入、删除成本,因为平衡树涉及额外的处理。另一方面,这些更适合检索,尤其是在大量节点中。 BST 在插入和删除方面是最好的,但并不比平衡树更好。根据您的要求,这取决于 - 但通常对字典的插入和删除很少见,并且读取很频繁,因此我认为自平衡树是更好的选择
标签: java dictionary tree binary-tree avl-tree