选择排序算法:如何实现以及评估时间和空间复杂度

5 min read

以下是选择排序算法的实现,可以对一个整数数组进行排序:

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

时间复杂度:

选择排序的时间复杂度为O(n^2),其中n是排序数组的长度。这是因为算法需要两个嵌套循环来遍历所有元素并进行比较和选择。

空间复杂度:

选择排序的空间复杂度为O(1), 因为算法只需要一个常数级别的额外空间来维护当前最小值的索引和交换元素。