Ste*_*all 23 sorting algorithm complexity-theory time-complexity
给定[0..n ^ 3-1]范围内的n个整数的输入集,提供线性时间排序算法.
这是我星期四测试的评论,我不知道如何解决这个问题.
当人们说"排序算法"时,他们经常提到"比较排序算法",这是任何只依赖于能够问"这个比这个更大还是更小"的算法.因此,如果您仅限于询问有关数据的这一个问题,那么您将永远不会获得超过n*log(n)(这是对数据集的n个阶乘可能排序进行log(n)搜索的结果) .
如果你可以逃避"比较排序"的约束并询问关于一个数据的更复杂的问题,例如"这个数据的基数10基数是什么"那么你可以提出任意数量的线性时间排序算法,他们只是需要更多的记忆.
这是一个时间空间权衡.Comparason排序很少或没有ram并且在N*log(n)时间内运行.基数排序(例如)在O(n)时间和O(log(基数))内存中运行.