c++ - 唯一数据的排序算法

标签 c++ sorting

当被排序的数据是:

a) 独一无二
b) 在完全随机的位置
c) 数量多(>1m)
d) 数据在内存中,在一个 vector 中
e) 它们是字符数组
f) 我不关心算法将使用多少内存

我知道,这种问题可能有很多变数,所以我尽量提供了尽可能多的信息。

最佳答案

因为你有字符数组并且不关心内存(虽然,你确实受到可用硬件内存的限制,所以我不知道你怎么不关心)你可以使用基数排序。它的复杂度为 O(n)。您还可以非常轻松地并行化此算法。

关于c++ - 唯一数据的排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20582276/

相关文章:

java - ArrayList<BigInteger> 排序算法 Java

ruby - Ruby 中的快速排序不稳定是什么意思(并暗示)?

c++ - 虚拟继承(钻石)——为什么我需要从派生类最多的类向上转换为基类

c++ - 支持多线程应用程序回调的 linux 共享库

Java,归并排序

sorting - Elasticsearch地理距离排序不完全/顺序错误

java - 对网页中的信息进行排序

c++ - 在 C++ mfc 中格式化 float

c++ - CreateDibSection 在磁盘上而不是物理内存上

c++ - 这个模板元编程片段到底发生了什么?