《算法图解》——学习笔记之二:选择排序法

选择排序是一种较快的排序算法,算法复杂的为O(n^2)。

代码如下:

def findSmallest(arr):
    smallest = arr[0]
    smallest_index = 0
    for i in range(1,len(arr)):
        if arr[i] < smallest:
            smallest = arr[i]
            smallest_index = i
    return smallest_index
def selectionSort(arr):
    newArr = []
    for i in range(len(arr)):
        smallest = findSmallest(arr)
        newArr.append(arr.pop(smallest))
    return newArr

if __name__ == '__main__':
    print(selectionSort([2, 1, 5, 4, 3]))

结果为[1,2,3,4,5] 

你可能感兴趣的:(数据结构,Python,算法分析,读书笔记)