选择排序是一种简单直观的排序算法,其基本思想是每次从待排序的数据中选择最小(或最大)的元素,放到已排序序列的末尾,直到全部元素排序完成。
下面是选择排序的Python实现代码:
def selection_sort(arr):
n = len(arr)
for i in range(n):
min_idx = i
for j in range(i+1, n):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
代码解析:
selection_sort
的函数,该函数接受一个列表arr
作为参数,并返回排序后的列表。n
。i
表示当前遍历的位置。i+1
开始遍历到最后一个元素,用变量j
表示当前遍历的位置。arr[j]
和arr[min_idx]
的大小,如果arr[j]
小于arr[min_idx]
,则更新min_idx
为j
。arr[i]
和arr[min_idx]
交换位置,将当前最小的元素放到已排序序列的末尾。选择排序的时间复杂度为O(n^2),空间复杂度为O(1)。
选择排序适用于小规模数据的排序,但对于大规模数据效率较低。在实际应用中,可以考虑使用更高效的排序算法,如快速排序、归并排序等。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云