def selectedSort(myList):#获取list的长度length = len(myList)#一共进行多少轮比较for i in range(0,length-1):#默认设置最小值得index为当前值smallest = i#用当先最小index的值分别与后面的值进行比较,以便获取最小indexfor j in range(i+1,length):#如果找到比当前值小的index,则进行两值交换if myList[j]<myList[smallest]:smallest = jtmp = myList[smallest]myList[smallest] = myList[i]myList[i]=tmp# 打印每一轮比较好的列表print("Round ",i,": ",myList)
时间复杂度::
平均:O(n^2)
最坏:O(n^2)
最好:O(n^2)
空间复杂度:O(1)
稳定性:不稳定(三个简单排序中唯一一个不稳定的算法,也是最好最坏情况一样复杂的一个,其他两个最优情况都是O(n))