【问题标题】:Best tree type for Dictionary implementation字典实现的最佳树类型
【发布时间】:2015-07-16 14:29:30
【问题描述】:

我需要使用 Java 实现通用字典,这将允许高效的 O(logN) 或更好的插入、删除和随机访问。

我的问题是:对于大量的插入和删除,哪种类型的树会给我最好的时间性能? AVL、RB、二叉搜索、Splay 还是 B 树?

【问题讨论】:

  • 像AVL、RB树这样的自平衡树总是有较高的插入、删除成本,因为平衡树涉及额外的处理。另一方面,这些更适合检索,尤其是在大量节点中。 BST 在插入和删除方面是最好的,但并不比平衡树更好。根据您的要求,这取决于 - 但通常对字典的插入和删除很少见,并且读取很频繁,因此我认为自平衡树是更好的选择

标签: java dictionary tree binary-tree avl-tree


【解决方案1】:

你可以使用trie数据结构来实现字典。首先你必须创建trie,这将花费O(nlogn)时间。之后你可以在O(logn)中搜索、插入和删除单词。 了解更多可以参考NPTEL LINK,里面包含了轮胎数据结构的基础。

【讨论】:

    猜你喜欢
    • 2012-04-18
    • 2013-03-31
    • 2010-10-12
    • 2016-12-07
    • 2010-09-27
    • 1970-01-01
    • 2020-10-21
    相关资源
    最近更新 更多