排序
冒泡排序
1.将无序序列中最大的元素移动到尾端(遍历比较,前大后小则交换)
2.对剩余无序序列执行上述步骤
时间复杂度:O(n^2)
最优时间复杂度:O(n)
稳定性: 稳定(两两进行比较)
选择排序
1.遍历比较,选出最小值并记录该值索引(循环比较,小则更新)
2.交换最小值和无序序列首个元素
3.对剩余无序序列重复步骤1,2
时间复杂度:O(n^2)
稳定性: 不稳定(可能破坏原有的顺序》》 5(2),5(1),1>>1,5(1),5(2)>> 这样5(1) 永远在5(2)前面 破坏原有结构)
插入排序
1.将无序序列的首个元素向前插入(反向遍历,前大后小泽交换)
若没有前大后小泽结束
2.对剩余无序序列重复步骤1
时间复杂度:O(n^2)
最优时间复杂度:O(n)
稳定性: 稳定
希尔排序