Python 选择排序

第一节:Python 选择排序

1.1 算法概述

  选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n2) 的时间复杂度,所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。

1.2 算法步骤

(1)首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置;

(2)再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾;

(3)重复第二步,直到所有的元素均排序完毕。

1.3 动图演示

1.4 算法实现

nums = [8, 7, 4, 2, 6, 5, 1, 9, 3]

def selectSort(iterable):
    lst = iterable
    length = len(lst)
    for i in range(length - 1):
        #记录最小数的索引值
        minIndex = i
        for j in range(i + 1, length):
            if lst[j] < lst[minIndex]:
                minIndex = j
        if i != minIndex:
            lst[i], lst[minIndex] = lst[minIndex], lst[i]
    return lst

selectSort(nums)

 

posted @ 2020-07-28 18:12  我听过  阅读(311)  评论(0编辑  收藏  举报