Algorithm 当基数排序为O(n)时,为什么排序问题的最佳时间复杂度为O(nlog(n))?

Algorithm 当基数排序为O(n)时,为什么排序问题的最佳时间复杂度为O(nlog(n))?,algorithm,sorting,Algorithm,Sorting,在我的教科书中,我被告知排序问题的时间复杂度为θ(n*log(n))。然而,很容易证明基数排序是O(n)。这与所说的不矛盾吗?排序问题的下界时间复杂度不是因此θ(n) 编辑:StackOverflow不允许我将“问题”放在标题中,因此“问题”必须保留。Ω(n*log(n))是a的下限,而不是任何现有的排序算法。基数排序不是比较排序

在我的教科书中,我被告知排序问题的时间复杂度为θ(n*log(n))。然而,很容易证明基数排序是
O(n)
。这与所说的不矛盾吗?排序问题的下界时间复杂度不是因此
θ(n)


编辑:StackOverflow不允许我将“问题”放在标题中,因此“问题”必须保留。

Ω(n*log(n))
是a的下限,而不是任何现有的排序算法。基数排序不是比较排序你需要考虑最佳时间,最糟糕的时间和平均时间情景。详细答案在这里的效率段落下,您介意详细说明吗?当我可以演示一个时间复杂度更好的算法时,我只是想理解为什么下限是这样。因为每个
n
输入都必须有一个唯一的地址值。这是一个至少为
log(n)
位的字大小(w)。这就是基数排序的“基数”的来源。@RBarryYoung,这仅适用于不同的元素。