跳到主要内容

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是列表的长度。这是因为对于每个元素,我们都需要遍历剩余的元素以找到最小值。这使得选择排序在处理大数据集时效率较低。然而,由于其实现简单,对于小规模的数据集或教学目的,选择排序仍然是一个很好的选择。