数据结构笔记:选择排序

Ula ·
更新时间:2024-09-20
· 701 次阅读

原文地址添加链接描述

分类目录——数据结构笔记

每一步在未排序部分去比较当前标记的最小值(初始化为第1个)与当前值的大小,更新(或不跟新)最小值的索引,维护的是一个最小值的索引

每一轮找一个最小值,替换未排序部分最开始的值与标记的最小值

插入排序也是将序列分为前后两个部分,前面有序部分,后面无序部分

实现

def selectsort(alist): n = len(alist) for i in range(n-1): index_min = i for j in range(i+1, n): if alist[j]<alist[index_min]: index_min = j alist[i], alist[index_min] = alist[index_min], alist[i]

测试

if __name__ == '__main__': ll = [3,6,2,4,7,5,8,1,0] print(ll) selectsort(ll) print(ll)

时间复杂度

最优时间复杂度:O(n^2)

最坏时间复杂度:O(n^2)

稳定性:不稳定(考虑升序每次选择最大的情况)
作者:BBJG_001



选择排序 选择 数据 排序 数据结构

需要 登录 后方可回复, 如果你还没有账号请 注册新账号