数据结构之排序五:选择排序

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))

posted @ 2019-08-12 16:49  青牛梦旅行  阅读(161)  评论(0编辑  收藏  举报