> 文章列表 > Python选择排序的实现

Python选择排序的实现

Python选择排序的实现

时间复杂度

最优时间复杂度:O(n^2)
最坏时间复杂度:O(n^2)
稳定性:不稳定

工作原理和方法:

1,将未排序的数组的第一个元素与后面所有的元素一一比较,如果大于后面某一个元素,就与其交换位置

2,这样一轮下来排在最前的第一个元素就是最小的那一个,然后再继续手环第1步找出第二小的元素

代码实现

def select_sort(array):"""选择排序"""n = len(array)for i in range(n):  # 取第一个数的下标for j in range(i+1, n):  # 取后面每一个数的下标if array[i] > array[j]:  # 前一个数与后一个数比较array[i], array[j] = array[j], array[i]return arrayarray = [5, 2, 7, 3, 1, 8, 6, 4, 9]res = select_sort(array)  # 选择排序
print(res)

输出结果

[1, 2, 3, 4, 5, 6, 7, 8, 9]