7得票1回答
为什么QMap使用跳表而不是红黑树?

我想知道为什么QMap选择了跳表数据结构而不是红黑树?关于并发数据结构和跳表相对于红黑树的优缺点,有一个非常有趣的SO线程。这确实是一次非常有趣的对话,包含了有用的链接,但是QMap不是线程安全的,它没有默认的互斥锁来同步访问。需要使用包装器或子类化才能实现。 对我来说,编写“手工制作”的跳...

18得票3回答
为什么在数据库中不喜欢使用跳表而更喜欢使用B+树?

我在阅读有关跳表和MemSQL的文章时,想知道为什么跳表在数据库中没有被广泛使用?使用跳表是否存在重大缺点?

7得票3回答
SkipList<T>和Dictionary<TKey, TValue>的比较

最近我一直在阅读关于跳表的内容。 我有一个 Web 应用程序,它针对静态数据集执行非常复杂的 SQL 查询。 我想实现一个缓存系统,通过生成 SQL 查询的 MD5 哈希值,并在集合中存在该查询的情况下返回查询的缓存数据集。 哪种算法更好,字典还是跳表?为什么? http://msdn...

267得票7回答
跳表 vs 二叉搜索树

我最近了解到一种称为跳表的数据结构。它的行为和二叉搜索树非常相似。 那么,为什么你会优先选择跳表而不是二叉搜索树呢?

7得票1回答
没有随机化的跳表?

我阅读了一些关于跳表的内容,并正在实现它。但是有一件事情到目前为止我还没有完全理解,那就是为什么跳表是随机的?在我找到的所有资料中,跳表都使用随机数来决定插入项目的级别。难道不能计算出最优解吗?或者不能说“每四个项目”应该插入到上一级吗?

20得票7回答
Java是否有跳表实现?

我在Java集合框架中找到了一个名为ConcurrentSkipListSet的数据结构,它是由跳表支持的。但是Java中是否存在跳表?在我的应用场景下,集合并不能满足我的需求。我需要一个支持重复项且可以进行索引的列表。

19得票7回答
跳表 -- 你曾使用过吗?

我想知道这里是否有人使用过跳表。它看起来具有与平衡二叉树大致相同的优点,但实现起来更简单。如果您使用过,请问您是自己编写还是使用预先编写好的库(如果是,其名称是什么)?

8得票2回答
优先队列 - 跳表 vs 斐波那契堆

我有兴趣实现一个优先队列,以实现高效的Astar算法,并保持相对简单(我的意思是优先队列要简单)。由于跳表提供了一个简单的O(1)提取最小操作和一个O(Log N)插入操作,所以它似乎可以与更难实现的Fibonacci堆竞争,后者具有O(log N)提取最小和O(1)插入。我认为跳表适用于稀疏...

7得票2回答
ConcurrentSkipList是什么?它不是ConcurrentSkipListSet吗?

我需要一个非常快速(插入、删除、查询)高度并发的列表,可以使用比较器/可比较器进行排序。 如果ConcurrentSkipListSet是列表而不是集合,则现有的结构将非常理想。我需要将多个相等的项插入到数据结构中。 如果找不到更好的结构,我目前正在考虑使用LinkedDeque,但在高争...

12得票3回答
我可以使用identityHashCode来生成一个比较两个对象是否相同的compareTo吗?

我希望实现一个简单的比较器,比较两个对象,其唯一要求是: 它是一个有效的比较器(即定义了所有对象的线性顺序) .compare仅在对象相同时返回0。 Comparator.comparing(System::identityHashCode) 能否工作?还有其他方法吗? 动机: 我想构建一...