15 Sep 2019
冒泡排序算法
冒泡排序算法
具体实现原理可见于:数据结构64:冒泡排序算法(起泡排序)
代码实现
Python实现
class BubbleSort:
@staticmethod
def sort(array):
min_index = len(array) - 1
for i in range(min_index + 1):
index = 0
for j in range(1, min_index + 1):
if array[index] > array[j]:
continue
index = j
if index < min_index:
array[index], array[min_index] = array[min_index], array[index]
min_index = min_index - 1
return array
def main():
array = [5, 3, 2, 1, 9, 8, 4, 0]
print("冒泡排序:%s" % BubbleSort.sort(array))
输出结果
冒泡排序:[0, 1, 2, 3, 4, 5, 8, 9]
附录
- 时间复杂度:
- 平均情况:$O(n^2)$
- 最差情况:$O(n^2)$
- 最好情况:$O(n)$
- 空间复杂度:$O(1)$
- 稳定性:稳定
- 复杂度:实现简单
博文
Til next time,
LinkWorld
at 16:56