10得票5回答
C#中是否有一个好的基数排序实现方法适用于浮点数?

我有一个包含浮点类型字段的数据结构。一组这些结构需要按浮点值进行排序。是否有针对此类排序的基数排序实现? 如果没有,是否有一种快速访问指数、符号和尾数的方法。因为如果您首先按尾数、指数排序,最后再按指数排序,您可以在O(n)时间内对浮点数进行排序。

10得票2回答
在O(n)时间内对[0,n^2 - 1]之间的n个数字进行排序?

可能重复: 一个长度为N的数组可以包含1、2、3...N^2的值。有可能在O(n)时间内进行排序吗? 给定n个数字,范围为[0,n^2 -1],如何在O(n)的时间内对它们进行排序? 我感觉解决方案涉及到基数排序,但我还缺少一些东西。 n个数字是整数。 有什么想法吗? ...

9得票3回答
C++实现的基数排序

我正在尝试通过创建一个程序来提高我的C++水平,该程序将接受1到10^6之间的大量数字。每次排序后存储数字的桶是一个节点数组(其中节点是我创建的包含值和下一个节点属性的结构体)。 将数字按最低有效位排序后,我让一个桶的末尾指向另一个桶的开头(这样我就可以快速获取被存储的数字而不会破坏顺序)。...

9得票3回答
将基数排序(和Python)推向极限

我对网上许多Python基数排序的实现非常失望。它们一贯使用基数10,并通过除以10的幂或取数字的log10来得到迭代数字的各个位数。这样做效率极低,因为与快速的位移相比,log10操作要慢近100倍! 一个更为高效的实现方法是使用基数256,并逐字节对数字进行排序。这使得所有“获取字节”的...

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

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

8得票4回答
使用队列实现基数排序

我想使用队列实现基数排序,但是我无法确定代码哪部分有问题或者应该阅读哪些资源。我的代码可能完全错误,但这是没有任何帮助的情况下实现的(我还没有学过数据结构和算法课程)。我创建了一个函数,但它没能正常工作。在研究过程中,我看到了一些代码示例,但对我来说它们似乎更加复杂。首先,我想找到所有整数的最...

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

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

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

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

7得票7回答
按数字顺序排序N个数字

给定一个N个数字的范围,例如[1到100],按数字顺序对数字进行排序(即)对于1到100的数字,排序输出应为 1 10 100 11 12 13……19 2 20 21 ….. 99 这就像基数排序一样,但是与普通的基数排序相比,数字的顺序是相反的。 我尝试将每个数字中的所有数字存储为链表...

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

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