gpt4 book ai didi

performance - 具有最多重复元素的数组的快速排序算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:25:23 24 4
gpt4 key购买 nike

有什么有效的方法可以对主要包含一小组重复元素的数组进行排序?也就是说,列表如下:

{ 10, 10, 55, 10, 999, 8851243, 10, 55, 55, 55, 10, 999, 8851243, 10 }

假设 equal 元素的顺序无关紧要,什么是好的最坏情况/平均情况算法?

最佳答案

实际上,您可以先遍历数组一次,然后使用哈希表计算单个元素出现的次数(这是 O(n),其中 n = 列表的大小)。然后获取所有唯一元素并对它们进行排序(这是 O(k log k),其中 k = 唯一元素的数量),然后在 O(n) 步中将其扩展回 n 个元素的列表,从中恢复计数哈希表。如果 k << n 你节省时间。

关于performance - 具有最多重复元素的数组的快速排序算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8178119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com