基本思想
选择排序可以说是最基本简单的一种排序方法,基本思想为每次选出剩余元素中的最小值,将其放入新数组(或者从前到后交换位置),此步骤执行N次即可。
算法实现
import data
nums = data.get_data(100)
def selection_sort(nums):
for i in range(len(nums)):
min_index = i # 记录查找到的最小值下标
for j in range(i + 1, len(nums)):
if nums[j] < nums[min_index]:
min_index = j
# python的swap写法(〃'▽'〃)
nums[i], nums[min_index] = nums[min_index], nums[i]
return nums
print(selection_sort(nums))
算法分析
需排序数组长度为N,该算法外层执行N次,内层执行次数依次递减,最大为N次,
故 T(n) = O(n^2) 。