数据结构定义和算法--排序--选择排序
算法原理
- 选择排序算法也分已排序区间和未排序区间;
- 每次都会从未排序区间找出最小值放到已排序区间最后;
性能分析
- 最好,最坏,平均时间复杂度都是O(n^2),因为无论是否有序,都需要完整执行每个循环;
- 空间复杂度:选择排序算法不需要额外的存储空间,故而空间复杂度为O(1),为原地排序算法;
- 算法稳定性:选择排序算法不是稳定的排序算法,比如[5, 8, 5, 2, 9]排序的时候,第一次找到的2会和第一个位置的5交换,所以位置就不稳定了,相比较冒泡排序算法和插入排序算法就逊色了;