1、选择排序只需要一个变量作为交换,所以空间复杂度是O(1),是原地排序算法。
2、选择排序在未排序区间选择最小值,与之前的元素交换。
对于值相同的元素,因为交换会破坏他们的相对公交车,所以是不稳定的排序算法。
例如4,1,4,2,5,这样的序列,
第一次选择后如下:1、4、4、2、5,此时顺序不变,第二次选择后如下:1、2、4、4、5,需要交换第一个4和2,所以两个4的相对顺序发生了变化,所以选择排序是一种不稳定的排序算法。
无论数据的初始状态如何,选择排序都需要在未排序元素中选择最小或元素与未排序序列中的首尾元素进行交换,因此其最佳、最坏、平均时间复杂度均为O(n^2)。
以上就是python选择排序算法的性能分析,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。