选择排序
算法描述
选择排序算法思想是:首先扫描一次序列,找出最小的元素与序列第一个元素交换;然后对剩余元素继续扫描(从第二个元素开始扫描),找出最小元素与序列第二个元素进行交换。照此进行下去,直到排好序。
算法实现
def choose(arr):
for i in range(len(arr)):
index=i
for j in range(i,len(arr)):
if arr[j]<arr[index]:
index=j
arr[i],arr[index]=arr[index],arr[i]
if __name__=='__main__':
arr=[7,3,5,1,4]
choose(arr)
算法复杂度
最坏情况:时间复杂度O(n^2)
最好情况:时间复杂度O(n^2)
平均情况:时间复杂度O(n^2)