【发布时间】:2015-05-17 00:41:49
【问题描述】:
我知道冒泡排序的平均时间复杂度为 O(n^2)。谁能解释如何计算这种复杂性?我通常发现只有人们说这是平均复杂性,但我不知道为什么。 (换句话说,数字从 1 到 n 的随机排列的平均复杂度是多少)
【问题讨论】:
-
@AndrewMorton 我想我无法理解我怎么知道这些针对最坏情况的计算(= 我必须交换每个元素)是针对平均情况的计算?也就是说,在这个计算中如何表示n个数的随机排列?
-
@Superian007:作为起点,Knuth 的计算机编程艺术在第 5.2.2 节中处理了冒泡排序,其中的 eq(11) 给出了平均情况下所需的 O(n²) 交换。 (是的,我知道,外部引用不适合 SO,但我必须重新阅读 5.1 和 5.2 来总结论点。)
标签: big-o time-complexity bubble-sort