【发布时间】:2021-05-06 18:52:09
【问题描述】:
有没有一种好的方法或算法可以根据每个项目中的频率值对数组进行排序?假设我有这个数组:
[3、3、3、5、6、12、5、5、6]。我希望输出为 [3, 5, 6, 12]。我在考虑像插入排序这样的东西,但我相信可能有更简单的方法。
【问题讨论】:
-
按直方图排序,但这不是频率!!!如果你想按频率排序,那么你首先需要计算频率(计数振荡,所以
3,3,3与3相同,但3,?,3不是,除非你将3,3作为最大频率处理)在这种情况下输出将是5,6 ; 3,12而不是您当前的3; 5; 6; 12。那么它是哪一个......如果第二次修复您的示例,请先修复标题,并说明您想要排序的频率(平均值,平均值,最大值,最小值?),因为它在您的示例中不是恒定的。 -
我在这里更新了帖子:*.com/questions/67414015/…。我相信我在那里解释得更好。
-
1.请不要发布重复的问题,而是将新信息编辑到您的原始信息中。 2.所以频率是指发生率(那不是频率...频率具有非常不同的含义?3.所以您只想将 2 个值紧密排列在一起...所以构造 histogram 为您的数组和 index sort 然后按排序顺序打印索引
-
我想我现在明白了。
标签: arrays algorithm sorting key-value frequency