Algorithm 当基数排序为O(n)时,为什么排序问题的最佳时间复杂度为O(nlog(n))?
在我的教科书中,我被告知排序问题的时间复杂度为θ(n*log(n))。然而,很容易证明基数排序是Algorithm 当基数排序为O(n)时,为什么排序问题的最佳时间复杂度为O(nlog(n))?,algorithm,sorting,Algorithm,Sorting,在我的教科书中,我被告知排序问题的时间复杂度为θ(n*log(n))。然而,很容易证明基数排序是O(n)。这与所说的不矛盾吗?排序问题的下界时间复杂度不是因此θ(n) 编辑:StackOverflow不允许我将“问题”放在标题中,因此“问题”必须保留。Ω(n*log(n))是a的下限,而不是任何现有的排序算法。基数排序不是比较排序
O(n)
。这与所说的不矛盾吗?排序问题的下界时间复杂度不是因此θ(n)
编辑:StackOverflow不允许我将“问题”放在标题中,因此“问题”必须保留。
Ω(n*log(n))
是a的下限,而不是任何现有的排序算法。基数排序不是比较排序一般来说,时间复杂度是O(Mn),但当m小于n时,它可以近似为O(n),并且说O(n)没有排序是不严格的错误。你需要考虑最佳时间,最糟糕的时间和平均时间情景。详细答案在这里的效率段落下,您介意详细说明吗?当我可以演示一个时间复杂度更好的算法时,我只是想理解为什么下限是这样。因为每个n
输入都必须有一个唯一的地址值。这是一个至少为log(n)
位的字大小(w)。这就是基数排序的“基数”的来源。@RBarryYoung,这仅适用于不同的元素。