小编sid*_*nan的帖子

计数排序 - 为什么在插入过程中要逆序排列?

我在GeeksForGeeks上查看计数排序的代码上的计数排序代码,在算法的最后阶段,原始数组中的元素被插入到排序数组中的最终位置(倒数第二个 for 循环),输入数组以相反的顺序遍历。

我似乎无法理解为什么你不能从输入数组的开头到结尾,如下所示:

for i in range(len(arr)): 
        output_arr[count_arr[arr[i] - min_element] - 1] = arr[i] 
        count_arr[arr[i] - min_element] -= 1
Run Code Online (Sandbox Code Playgroud)

是否有一些我错过的以相反顺序进行的微妙原因?如果这是一个非常明显的问题,我深表歉意。我在这里也看到了以相同风格实现的计数排序。

任何评论都会有帮助,谢谢!

sorting counting-sort

5
推荐指数
1
解决办法
2267
查看次数

标签 统计

counting-sort ×1

sorting ×1