上周我偶然发现了这篇论文,作者在第二页提到:
请注意,这会产生整数边权重的线性运行时间。
第三页也一样:
这产生了整数边权重的线性运行时间和基于比较的排序的 O(m log n)。
在第 8 页:
特别是,使用快速整数排序可能会大大加快 GPA。
这是否意味着在特殊情况下对于整数值存在 O(n) 排序算法?或者这是图论的专长?
PS:
参考文献 [3] 可能会有所帮助,因为在第一页他们说:
[..] 图类(例如整数边权重 [3]、[...]
但我无法访问任何科学期刊。
上周我偶然发现了这篇论文,作者在第二页提到:
请注意,这会产生整数边权重的线性运行时间。
第三页也一样:
这产生了整数边权重的线性运行时间和基于比较的排序的 O(m log n)。
在第 8 页:
特别是,使用快速整数排序可能会大大加快 GPA。
这是否意味着在特殊情况下对于整数值存在 O(n) 排序算法?或者这是图论的专长?
PS:
参考文献 [3] 可能会有所帮助,因为在第一页他们说:
[..] 图类(例如整数边权重 [3]、[...]
但我无法访问任何科学期刊。
计数排序:http ://en.wikipedia.org/wiki/Counting_sort如果您的整数相当小。如果您有更大的数字,则基数排序(这基本上是计数排序的概括,或者如果您愿意,可以对更大的数字进行优化):http ://en.wikipedia.org/wiki/Radix_sort
虽然不是很实用(主要是由于内存开销很大),但我想我会提到Abacus (Bead) Sort作为另一种有趣的线性时间排序算法。
这些基于硬件的排序算法:
一种硬件中二进制数排序的免比较排序算法
——一种新算法及其实现
Laser Domino Sorting Algorithm - 我基于计数排序的思想实验,旨在实现O(n)
计数排序的时间复杂度O(n + k)
。
添加更多细节 - 实际上,迄今为止最好的排序算法不是 O(n),而是 O(n √(log log n)) 预期时间。
您可以在Yijie Han 和 Mikkel Thorup的 FOCS '02 论文中查看有关此算法的更多详细信息。