算法学习笔记--排序之选择排序

xiaoxiao2021-02-28  106

算法学习笔记–排序之选择排序

定义

选择排序需要额外的存储空间,且排序的时间为O(N^2),其实为O(1/2(N^2))但是常数可以省略。 选择排序每次都遍历一遍剩下的数,然后选出最小的一个数放到排序好的存储空间中去。

实现

python中没有数组,所以用列表(List)代替。

def find_smallest(array): smallest = array[0] for i in range(len(array)): if smallest > array[i]: smallest = array[i] return smallest def selection_sort(array): sorted = [] for n in range(len(array)): smallest = find_smallest(array) sorted.append(smallest) array.remove(smallest) return sorted if __name__ == '__main__': list1 = [4,3,2,1,-2,3,5,3] print list1 print selection_sort(list1)

运行结果

[-2, 1, 2, 3, 3, 3, 4, 5]
转载请注明原文地址: https://www.6miu.com/read-71984.html

最新回复(0)