我必须实现一个解决多选问题的算法。多选问题是:
给定从线性有序集合中抽取的 n 个元素的集合 S,以及介于 1 和 n 之间的正整数的集合 K = {k1, k2,...,kr},多选问题是选择第 k 个最小的元素对于 i 的所有值,1 <= i <= r
我需要解决 Θ(n log r) 上的平均情况我找到了一篇实现我需要的解决方案的论文,但它假设集合 S 上没有重复的数字。问题是我不能假设那我不知道如何调整该论文的算法以支持重复数字。论文在这里:http ://www.ccse.kfupm.edu.sa/~suwaiyel/publications/multiselection_parCom.pdf 算法在第二页。欢迎任何提示!