文章目录:
利用Python实现数据结构中的选择排序。
运行平台: Windows
Python版本: Python 3.8
IDE: Pycharm
概念
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
实现一次选择排序的算法
def selection_sort(alist):
n = len(alist)
min_index = 0
for i in range(n):
if alist[min_index] > alist[i]:
min = i
alist[0], alist[min_index] = alist[min_index], alist[0]
return alist
list = [5, 4, 1, 2, 0, 3]
print(selection_sort(list))
#结果
[0, 4, 1, 2, 5, 3]
选择排序
def selection_sort_1(alist):
n = len(alist)
for i in range(n):
min_index = i
for j in range(i, n):
if alist[min_index] > alist[j]:
min_index = j
alist[i], alist[min_index] = alist[min_index], alist[i]
return alist
list = [5, 4, 1, 2, 0, 3]
print(selection_sort_1(list))
# 结果
[0, 1, 2, 3, 4, 5]
总结
- 时间复杂度:O(n^2)
- 稳定性:稳定