跳过列表可以有重复的元素吗?

Can a skip-list have duplicate elements?

我知道跳表是一种排序数据结构,但它可以有重复的元素吗?或者应该是,如果您尝试插入一个已经存在的元素,它只会 return 指向先前存在的元素的指针?

答案是"yes, a skiplist can have duplicate elements, but it's not required to."

你能做一个支持重复的跳过列表吗?绝对地!您只需更新插入过程,这样如果您看到要查找的元素,就可以将元素插入到它后面。这类似于您可以拥有存储多个相等值的 BST 的方式 - 您只需让插入过程在找到相等元素时始终向左或始终向右移动即可。

但是必须跳过列表总是允许重复项?不,不必,就像并非所有 BST 都允许重复一样。

如果您使用的是跳过列表库,请查阅文档以了解它是否支持重复项。如果您要自己创建,请随意构建它,并记录您的决定。