【发布时间】:2013-12-11 22:16:59
【问题描述】:
我知道 TreeMap 具有 log(n) 插入和查找运行时复杂性。但是,指向链表中节点的 HashMap 将提供相同的运行时复杂性,但也提供恒定时间查找,这是一个很大的优势。但是,您必须自己实现搜索/插入/删除功能。我想知道 Java 或其他开源库中的某些东西是否为您提供了这个?
我确实意识到,在某些情况下,TreeMap 的红黑树可能比 HashMap 更适合,但在其他情况下,自然排序的恒定时间查找肯定是更可取的。
注意:我知道 LinkedHashMap 为插入顺序提供了一个内置的链表,但我说的是像 TreeMap 那样维护自然顺序。
【问题讨论】:
-
链接哈希映射是否提供恒定时间查找?这对我来说听起来不正确。不是所有操作都有 O(N) 最坏情况吗?
-
我认为它有 O(N) 最坏的情况,但如果我错了请纠正我stackoverflow.com/questions/8162501/…
-
此外,链接哈希映射是否不提供桶之间的自然排序迭代。我不这么认为。
-
@Dlotan 是的,你是对的。这是一个错误类型:-)
标签: java data-structures linked-list hashmap treemap