We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 9aff8bc commit b97957bCopy full SHA for b97957b
1.bubbleSort.md
@@ -20,17 +20,26 @@
20
21

22
23
+## 3. 算法分析
24
-## 3. 什么时候最快
25
+#### 3.1 什么时候最快
26
27
当输入的数据已经是正序时(都已经是正序了,我还要你冒泡排序有何用啊)。
28
这时只进行一趟排序:元素比较次数为n-1,元素移动为0。
29
-
30
-## 4. 什么时候最慢
+#### 3.2 什么时候最慢
31
32
当输入的数据是反序时(写一个 for 循环反序输出数据不就行了,干嘛要用你冒泡排序呢,我是闲的吗)。
33
34
+#### 3.3 时间复杂度
35
+
36
+设初始文件是反序的,需要进行 n-1 趟排序。每趟排序要进行 n-i 次关键字的比较(1≤i≤n-1),且每次比较都必须移动记录三次来达到交换记录位置。在这种情况下,比较和移动次数均达到最大值:
37
+$$ 比较:C_{max} = \frac{n(n-1)}{2} = O(n^2)$$
38
+$$ 移动:M_{max} = \frac{3n(n-1)}{2} = O(n^2)$$
39
40
+冒泡排序的最坏时间复杂度为$$ O(n^2)$$。
41
+综上,因此冒泡排序总的平均时间复杂度为$$ O(n^2)$$。
42
43
44
## 5. JavaScript 代码实现
45
0 commit comments