本文共 791 字,大约阅读时间需要 2 分钟。
2.选择排序
第一次需要检查n个元素,但后检查的元素数依次为n-1,n-2,…,2和1。平均每次检查的元素数为1/2 X n,因此运行时间为O(n X 1/2 X n)。但大O表示法省略诸如1/2这样的常数,因此简单地写作O(n X n)或O(n^2)。选择排序是一种灵巧的算法,但其速度不是很快。def findSmallest(my_list): smallest = my_list[0] #存储列表中最小的值 smallest_index = 0 #存储最小元素的索引 for i in range(1,len(my_list)): if my_list[i] < smallest: smallest = my_list[i] smallest_index = i return smallest_indexdef selectionSort(my_list): #对列表元素进行排序 new_list = [] for i in range(len(my_list)): smallest = findSmallest(my_list) #找出列表中最小的元素 new_list.append(my_list.pop(smallest)) #将最小的元素加入到新列表中 return new_listprint(selectionSort([8,2,7,3,9,1,6]))
运行结果:
[1, 2, 3, 6, 7, 8, 9]小结:
转载地址:http://lncii.baihongyu.com/