据我所知,不存在可以解决以下问题的最坏情况算法:
给定长度为的序列,该序列由有限整数组成,请找到每个元素小于或等于其后继元素的排列。
但是在跨二分法的计算模型中是否存在不存在的证据?
请注意,我并没有限制整数的范围。我也不将解决方案限制为比较排序。
据我所知,SAT 可能有一个时间算法!所以答案是否定的。
—
Lembik
AFAIK,这仍然是一个未解决的问题。
—
Juho 2015年
我不知道是否会有一个有意义的答案,除非您指定使用的是哪种计算模型,因为您不会将计算机局限于比较和交换。只用RAM和两个数的比较,从熵的参数给出一个时间限制,即使对于transdichotomous计算机。通常,如果排序不是基本操作,而不是交换和比较,则可以在Θ (1 )中完成。如果在正确的位置插入整数是基本运算,则Θ (n )。您是否有特定的超越比较交换模型?
—
Lieuwe Vinkhuijzen
@LieuweVinkhuijzen我的问题指定了跨二分法的计算模型。用简单的英语来说:一种计算模型,其中机器的字大小足以容纳问题的任何整数。因此,比较任意两个整数为O(1),对它们进行加,乘等运算也是如此。在这种计算模型中,熵界限已被克服,请参见Han,Yijie(2004),“在O(n log log n)时间和线性空间中进行确定性排序”。
—
orlp 2015年
@orlp我明白了;如果您利用整数的结构,则可以克服熵的界限。我不知道整数排序;我一定会继续阅读该主题!
—
Lieuwe Vinkhuijzen