8得票3回答
一个长度为N的数组可以包含值1、2、3...N^2。是否可能在O(n)时间内进行排序?

给定一个长度为N的数组。它可以包含从1到N^2(N的平方)的值,包括两个端点,这些值是整数。是否可能在O(N)时间内对此数组进行排序?如果可能,如何实现? 注:这不是一道作业题。

16得票2回答
基数排序,对浮点数进行排序

基数排序能够对浮点数进行排序,例如0.5、0.9、1.02等。

25得票11回答
负整数的基数排序

我正在尝试实现整数的基数排序,其中包括负整数。对于非负整数,我计划创建一个由10个队列组成的队列,分别对应数字0-9,并实现LSD算法。但是我对负整数有点困惑。现在我考虑的是,继续为它们创建另一个由10个队列组成的队列,并单独对它们进行排序,最后我会得到两个列表,一个包含已排序的负整数,另一个...

8得票3回答
为什么要使用比较排序?

Timsort、Quicksort 和 Mergesort 这样的算法在“现实世界”中占据主导地位。这些比较排序方法非常实用,已被证明是最高效、稳定、多功能的排序算法,在各种环境下都能发挥作用。 然而,似乎几乎所有需要在计算机上排序的内容都是可数的/部分有序的。数字、字符、字符串,甚至函数都...

40得票4回答
基数排序是如何工作的?

我不知道为什么这对我来说很难理解。我查阅过维基页面、伪代码(以及实际代码),试图理解基数排序算法如何工作(与桶有关)。我是在看错了吗?也许应该看看桶排序?有人能给我一个更简化的工作原理吗?供参考,这里是一个据说执行基数排序的代码块:// Sort 'size' number of intege...

56得票12回答
何时应该使用基数排序?

看起来基数排序的平均情况下性能非常好,即O(kN): http://en.wikipedia.org/wiki/Radix_sort 然而似乎大多数人仍在使用快速排序-为什么?

7得票1回答
这些非比较排序算法在什么条件下可以在线性时间内运行?

我正在研究以下算法: 计数排序 基数排序 桶排序 我知道这三种排序算法在最好情况下能够以线性时间运行,但是我难以理解何时会出现这种情况,除了计数排序。 这是我对计数排序的理解,如果可能,请帮我回答另外两种算法的最佳情况: 当您要排序的信息之间没有大的间隔时,计数排序以线性时间运行。...

8得票1回答
为什么R使用基数排序?

根据我的理解,R的order()方法默认使用基数排序。虽然这并非一直如此(参见news),但Matt Dowle提出了this presentation建议进行更改,因为经验证明基数排序表现良好。 我的问题是,实践中为什么基数排序比其他排序算法更好?维基百科并没有强有力的支持基数排序的论据。...

24得票3回答
基数排序:LSD与MSD版本

"算法导论"一书提到了基数排序的LSD(最低有效位)版本。然而,在stackoverflow上,其他人已经指出了MSD(最高有效位)版本的存在。因此,我想了解每个版本的优缺点。我猜LSD版本比MSD版本有一些优势,但我不确定。因此提出这个问题。

54得票2回答
桶排序和基数排序有什么区别?

桶排序和基数排序是密切相关的算法;桶排序从高位到低位排序,而基数排序可以在"LSD"或者"MSD"方向进行排序。这两个算法是如何工作的,特别是它们有什么区别?