Data Structures and Algorithm Analysis

排序算法之选择排序

2018-11-13  本文已影响20人  盗梦者_56f2

介绍

选择排序是一种简单直观的排序算法。

演示

Select-Sort

复杂度

最坏时间复杂度:O(n^2)
最优时间复杂度:O(n^2)
平均时间复杂度:O(n^2)
最坏空间复杂度:O(n),需要辅助空间O(1)

步骤

它的工作原理如下。

  1. 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置
  2. 然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。
  3. 以此类推,直到所有元素均排序完毕。

python

def select_sort(li):
    for i in range(len(li)):
        min = i
        for j in range(i + 1, len(li)):
            if li[j] < li[min]:
                min = j
        if min != i:
            li[min], li[i] = li[i], li[min]
    return li
print(select_sort(li))
上一篇下一篇

猜你喜欢

热点阅读