算法名称 最差时间复杂度 平均时间复杂度 最优时间复杂度 空间复杂度
选择排序 O(N^2) O(N^2) O(N) O(1)
选择排序也会把数组分为已排序区和未排序区。但是与插入排序不同的是,它每次找到未排序区的最小值,与未排序区的首个元素交换,这样就变成了已排序区的末尾元素了。
插入排序是一种不稳定算法,相同元素,排序后,相对位置可能发生改变。
def selection_sort(data): for i in range(len(data)): for j in range(i+1,len(data)): if data[i]>data[j]: data[i],data[j]=data[j],data[i] print(data) return data if __name__=='__main__': selection_sort([10,8,2,5,88,69,9,3,7,])