1、冒泡排序(Bubble Sort)
冒泡排序是一种交换排序。
基本思想:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。
① 算法实现
- 嵌套循环。
i=0
,j
从后往前循环,逐个与前一个值作比较,将较小值交换到前面,直到找到最小值放在了第1的位置,接着继续下一轮循环(i += 1
)- 若某次循环(
i
)中已无数据交换,则不需要继续下轮循环:
设置flag
。若flag=True
,则说明前一轮循环中仍有数据交换,则继续下一轮循环;若flag=False
,则说明前一轮循环已无数据交换,可以跳出大循环。
② 复杂度
当最好的情况,也就是要排序的序列本身就是有序的,根据优化过的算法可推断出是n-1