冒泡排序
概念上最简单的排序算法,但是性能最差
比较次数:O(N^2)
交换次数:O(N^2)
算法描述:
1.从左到右依次比较相邻的两个元素,若左边的元素比右边的大,两者交换位置
2.重复上一步骤,但上一轮最后参与比较的较大的元素不再参与比较
3.重复上一步骤,直到没有元素需要比较
选择排序
略优于冒泡排序,虽然比较次数的复杂度和前者一样,但交换次数比前者少了一个量级
比较次数:O(N^2)
交换次数:O(N)
算法思路:
每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置 直到全部待排序的数据元素排完。 每轮比较仅做一次交换 |
|