这是我正在学习的课程中的一个可选问题,他们提供答案,4n。但现在我想到了多少,我无法弄清楚他们是如何做到这一点的。我还是很新,只是学习大O符号,所以我确定我错过了一些简单的东西,但这对我来说没有意义。我想到它的方式是冒泡排序需要n * k操作,所以如果你把k变成2k我有n * 2k。我相信在最坏的情况下k = n - 1所以它实际上是n * 2n AKA 3n。我可能完全错了,但这就是我在这里寻求帮助的原因。我的课程并没有(或者我觉得)它没有涵盖这样的问题所以我只是不确定如何处理它。谢谢!
答案 0 :(得分:1)
冒泡排序是Big O k ^ 2复杂度,最坏情况和平均值
因此我们对大小k进行了n次操作,这意味着k ^ 2 = n
所以我们加倍k,我们有(2k)^ 2 = X或4k ^ 2 = X其中X = 2k大小的操作数
插入n = k ^ 2的事实,你有4n = X
Theres你的答案:)