See Chrome Devtools!
选择排序
只有在空间复杂度要求非常高的时候才有用,因为交换所需时间大于比较,所以效率略高于冒泡。
稳定性
不稳定(因为刚开始处理的时候,会把较小的数字交换到前面,此时原位置的数字会被交换到后面,可能打乱原顺序)
复杂度
时间复杂度
O(n^2)
因为每个位置都需要遍历一次数组才能真正确定,所以无法偷懒。
空间复杂度
O(1)
根本就不需要额外空间
原理
从第一位开始遍历,找到当前数组中最小的数字,放在这个位置上。然后再从第二位开始遍历,直到遍历完整个数组。