python实现基本算法之选择排序(Selection Sort)

基本算法之选择排序(Selection Sort)

基本算法—3、冒泡排序(Bubble Sort)算法
基本算法都在上传之后,建议收藏学习,欢迎评论区留言讨论!



0、前言

评判一个算法的好坏的标准:

  • 时间复杂度
  • 空间复杂度

1、选择排序是什么?

选择排序(Selection sort)是一种简单直观的排序算法。

原理:

就是每一次都从待排序的数据元素中选出最小(或者最大)的一个元素,存放在待排序的起始位置,直到全部的待排序的数据元素全部排序完毕!

2、算法过程图解

在这里插入图片描述

3、代码实现

代码如下(示例01):

"""
Select Sort选择排序
时间复杂度:O(N^2)
"""
# Select Sort选择排序
def select_sort(alist):
    for i in range(len(alist)):
        min_index = i
        for j in range(i+1,len(alist)):
            if alist[min_index]>alist[j]:
                min_index = j
        alist[min_index],alist[i] = alist[i],alist[min_index]

if __name__ == '__main__':
    alist = [54, 26, 93, 17, 77, 31, 44, 55, 20]
    print(f'原列表的顺序:{alist}')
    select_sort(alist)
    print(f'选择排序之后的列表的顺序:{alist}')

4、评判算法

  • 平均时间复杂度:O(N^2)
  • 最好时间复杂度:O(N)
  • 最坏时间复杂度:O(N^2)
  • 空间复杂度:O(1)
  • 算法稳定性:不稳定的排序

猜你喜欢

转载自blog.csdn.net/weixin_44824717/article/details/108299798