def selectedSort(myList): #获取list的长度 length = len(myList) #一共进行多少轮比较 for i in range(0,length-1): #默认设置最小值得index为当前值 smallest = i #用当先最小index的值分别与后面的值进行比较,以便获取最小index for j in range(i+1,length): #如果找到比当前值小的index,则进行两值交换 if myList[j]<myList[smallest]: smallest = j tmp = 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))