📅  最后修改于: 2023-12-03 15:28:21.807000             🧑  作者: Mango
选择排序是一种简单的排序算法,它重复地找到未排序部分中的最小元素,并将其放置在排序部分的开头。
下面是 Python 实现选择排序的示例代码:
def selection_sort(arr):
n = len(arr)
for i in range(n-1):
min_index = i
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
代码解释:
selection_sort(arr)
,它接收一个数组 arr 作为参数。选择排序的时间复杂度为 O(n^2),空间复杂度为 O(1)。即使是在最坏情况下,选择排序的比较次数也不会超过 n(n-1)/2,因此它的时间复杂度的上界为 O(n^2)。
下面通过一个示例来演示选择排序的使用。
arr = [64, 34, 25, 12, 22, 11, 90]
print(selection_sort(arr))
输出:
[11, 12, 22, 25, 34, 64, 90]
选择排序是一种简单而有效的排序算法,它的时间和空间复杂度都比较低,可以在处理一些小规模数据的时候使用。但是在面对大规模的数据时,选择排序的速度将变得很慢。