基本思想
每一趟遍历选择出最小的元素,将该元素移动到未排序数组的最前方。
具体实现
from typing import Listdef selection_sort(nums: List):length = len(nums)for i in range(length-1):min_idx = ifor j in range(i+1, length):if nums[j] < nums[min_idx]:min_idx = j2, nums[min_idx] = nums[min_idx], nums[i]
性能分析
平均时间复杂度:
- 计算数组长度
length: - 两次循环:
- 总计:
空间复杂度:
