动画演示
分析
- 缺点
选择排序没有充分利用原始数据中的有序部分,每次都会找最小元素,然后进行交换。
- 优点
数据的交换次数是所有排序算法中最少的,次比较,
次数据交换。
- 空间复杂度
是一种原地排序算法,空间复杂度为
- 时间复杂度
代码实现
func selectionSort(nums []int) {for i := range nums {var minIdx = ifor j := i+1; j <len(nums); j++{if nums[minIdx] > nums[j] {minIdx = j}}nums[i], nums[minIdx] = nums[minIdx], nums[i]}}
