我需要在java中实现跳过列表。我知道跳过列表是如何工作的,但我需要扩展AbstractMap。所以类SkipList看起来像
public class SkipList<K extends Comparable<K>,V> extends AbstractMap<K,V> {
public SkipList(int levels) {
// ...
}
// ...
}
我不明白我需要如何扩展AbstractMap
答案 0 :(得分:0)
SkipList 用于快速搜索,通常时间复杂度为O(logn)
。标准JDK没有实现它。虽然ConcurrentSkipListMap是使用 SkipList 数据结构实现的,但您可以参考其源代码:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/util/concurrent/ConcurrentSkipListMap.java#ConcurrentSkipListMap
这是另一个很好的例子:https://codereview.stackexchange.com/questions/71432/custom-skiplist-implementation-in-java