Python 选择排序实现的算法?
参考答案:
选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
以下是一个使用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
# 测试代码
arr = [64, 25, 12, 22, 11]
print("原始数组是:", arr)
selection_sort(arr)
print("排序后的数组是:", arr)
这段代码中,外部循环用于遍历数组的每个元素,内部循环用于找到剩余元素中的最小值。然后,我们将找到的最小值与当前外部循环的索引位置的元素进行交换。这样,每次外部循环结束后,最小的元素都会被放置在正确的位置上。
选择排序的时间复杂度为O(n^2),其中n是列表的长度。这是因为对于每个元素,我们都需要遍历剩余的元素以找到最小值。这使得选择排序在处理大数据集时效率较低。然而,由于其实现简单,对于小规模的数据集或教学目的,选择排序仍然是一个很好的选择。