我需要一个带有O(1)indexOf操作的有序数据结构。我将对象指针存储在数据结构中。有任何想法吗?某种LinkedHashMap?具有快速索引的数据结构?
看什么 “的indexOf” 是指:List.indexOf(Object)
我需要一个带有O(1)indexOf操作的有序数据结构。我将对象指针存储在数据结构中。有任何想法吗?某种LinkedHashMap?具有快速索引的数据结构?
看什么 “的indexOf” 是指:List.indexOf(Object)
这个问题是含糊不清的开始。
indexOf(..)
操作来限定你的意思。indexOf(..)
集合的唯一责任。简而言之,做到这一点的一种方法是维护一个将索引每个Object
或键索引的索引。
HashMap<Object, List<Integer>>
再一次,这是模糊的,如果你指定了你正试图解决的问题的确切性质,可能会有所帮助。
如果您使用跳过列表或平衡树,您可以获得O(log n)insert
和indexOf
。
如果你保持一个排序List<Object>
来存储你想跟踪,具有HashMap<Object, Integer>
一起存储每个项目的起始位置的项目,你可以得到O(1)indexOf
换取O(n)的insert
。
我还没有深入考虑过,但我不认为有可能获得O(1)插入和O(log n)indexOf。
将对象存储为HashMap中的键和值。我假设你正在寻找最终检索对象。
再次看到q。 – bittersoon 2010-11-29 06:51:27