我正在使用timeit模块测量基数和计数排序的执行时间。我使用的是位于<0;1000000>区间上的100组随机整数。集合中的所有整数都是唯一的。在计数排序的情况下,时间通常在增加。listToSort = []
listToSort.extend(l)
这是我的计数排序代码Sort
for x in range(10, 1001
这是一个计数排序算法。我想把它的最后一个for循环改为for j<---1 to n。我知道这将是正确的,但我想向我的一个朋友展示这个。我该如何写出我的理由呢?请帮帮我!谢谢。CountingSort(A[1,..n]) //C[1,...k] is the temporary memory and k is the range of integers
for i<
我正在阅读CLRS,为了练习,我滚动了我的基排序和计数排序版本。我看了一些参考实现,特别是罗塞塔代码中的迷幻剂1,我的执行情况要好得多(~10次),尤其是在64位输入和最大输入范围已知的情况下。我认为可以改进的地方之一是在计数排序中创建res。如果我现在可以使用reserve作为缺省值,初始化所有内容,然后对它们进行分配,那么速度会更快。算法库// countingsort, assumes each