冒泡选择插入排序(Python)

Posted 一个敲代码的阿信

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冒泡选择插入排序(Python)相关的知识,希望对你有一定的参考价值。

jack原创
第17篇



# 冒泡排序# 原地排序、最好O(n) ,最坏 平均 O^2 稳定

def bubbleSort(list):    size = len(list)    

    if(size<=1):        

        return list    for i in range(size):        

        # 判断列表是否已经有序,如果有序的话则直接退出无需再比较        isSort = True        

        for j in range(size-1-i):            

            if(list[j]>list[j+1]):                

                list[j],list[j+1] = list[j+1],list[j]                isSort = False        

        if(isSort):            

            return list    

    return list


# 插入排序# 原地排序、最好O(n),最坏 平均O^2 稳定

def insertSort(list):    size = len(list)    

    if(size<=1):        

        return list    for i in range(size-1):        

        for j in range(i+1,0,-1):            

            if(list[j]<list[j-1]):                

                list[j],list[j-1] = list[j-1],list[j]            

            else:                

                break    return list


# 选择排序
# 原地排序、最好,最坏,平均 O^2 不稳定
def selectSort(list):
size = len(list)
if(size<=1):
return list
for i in range(size-1):
tmpValue = list[i+1]
tmpIndex = i+1
for j in range(i+1,size):
if(list[j]<tmpValue):
tmpValue = list[j]
tmpIndex = j
if(tmpIndex != i):
list[tmpIndex],list[i]=list[i],list[tmpIndex]
return list





以上是关于冒泡选择插入排序(Python)的主要内容,如果未能解决你的问题,请参考以下文章

python实现时间复杂度平均为N^2的冒泡选择插入排序

python实现时间复杂度平均为N^2的冒泡选择插入排序

[leetcode]排序算法(冒泡排序,选择排序,插入排序,快速排序,计数排序)

python 数据结构与算法之排序(冒泡,选择,插入)

冒泡选择插入归并希尔等排序算法的Python实现

python排序算法实现(冒泡选择插入)