algorithm - 排序时 "few-unique"的含义是什么?

标签 algorithm quicksort

全部。

http://www.sorting-algorithms.com/quick-sort-3-way

在上述站点的快速排序3路划分算法中,我发现了4种不同的情况。 我理解随机的、几乎排序的、相反的情况。 但什么是“少数独特”???这意味着大整数 key ? 您能详细说明一下吗? 谢谢。

最佳答案

在这种情况下,我认为没有什么独特的方法:即使你有一个巨大的数组,可能值的集合也非常小。这也意味着有很多重复项。

示例:3, 10, 50, 10, 10, 3, 10, 3, 50, 3, 50, 50, 3, 10, 10, 50, 3, 3, 10, 50, 50, 3 .. .

不同/唯一值的集合是 {3, 10, 50},即使数据收集要大得多,也非常小。

如果您打算对数组进行排序,您只需执行一次扫描即可计算值的出现次数:

3 : 8 occurences
10: 7 occurences
50: 7 occurences

然后排序就很简单了:只需输入 3 次“8”、7 次“10”和 7 次“50”。如果你还有其他列,仅仅统计出现次数是不够的,你必须建立一个索引,但想法是一样的。

关于algorithm - 排序时 "few-unique"的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26587023/

相关文章:

c - 查找步骤以找到给定的索引值

algorithm - 这可以用线性时间复杂度解决吗?

algorithm - 将RGB图像读入二进制并在Matlab中显示为RGB

java - Qucksort 获得 100000 个元素的 StackOverflowError 但 mergesort 在 Java 中没有

algorithm - 组合优化资源

c - 有效检查数组是否有重复项

python - 在 2D 列表中的特定索引处使用快速排序

c++ - 快速排序实现错误

c - 在C中有效地对二维数组的列进行排序

python - 测量Python中的快速排序和堆排序的时间