选择排序
选择排序是一种简单直观的排序算法。在莫排序序列中找到最小的元素存放到排序序列的起始位置。然后从剩余排序元素中继续寻找最小元素,然后放到已排序序列的末尾。遍历所有元素。
程序实现:
def selection_sort(alist):
n=len(alist)
for i in range(n-1):
min_index = i
for j in range(i+1,n):
if alist[min_index] > alist[j]:
min_index = j
if min_index != i:
alist[i],alist[min_index] = alist[min_index],alist[i]
alist = [54,226,93,17,77,31,44,55,20]
selection_sort(alist)
print(alist)
时间复杂度
最优时间复杂度:O(n2)
最坏时间复杂度:O(n2)
稳定性:不稳定(考虑升序每次选择最大的情况)