📅  最后修改于: 2023-12-03 15:28:21.856000             🧑  作者: Mango
选择排序是一种简单的排序算法,在计算机科学中广泛应用。该算法首先找到数组中最小值,并将其与数组中的第一个元素进行交换。接着,它在剩余的数组中找到第二小的元素,将其与数组中的第二个元素交换,以此类推,直到数组被完全排序。下面我们来看一下 Python 中的实现。
def selection_sort(arr):
for i in range(len(arr)):
# 找到未排序部分中最小元素的索引
min_index = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_index]:
min_index = j
# 交换未排序部分中的最小元素和已排序部分的末尾元素
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
在这里,我们使用了两个嵌套的 for 循环。外循环用于循环数组中的所有元素,内循环用于在未排序部分中找到最小的元素。
虽然选择排序是一种简单的排序算法,但它的性能相对较差。平均时间复杂度为 O(n²),空间复杂度为 O(1)。因此,在对大型数据集进行排序时,建议使用其他更高效的算法。
以上是选择排序在 Python 中的实现和性能介绍。如果你对其他排序算法也感兴趣,可以继续学习插入排序、冒泡排序、归并排序等等。