一、排序算法的稳定性
数据结构:顺序表、链表、栈和队列已经讲完了
现在到排序与搜索

二、冒泡排序
当是从小到大排序的时候,每次把最大的放在最后面,相当于有一个东西向外面冒。
时间复杂度:



# -*- coding: utf-8 -*-
"""
Created on Tue Dec 18 14:40:56 2018
@author: Xavier
冒泡排序
最优时间复杂度:O(n)(表示遍历一次发现没有任何可以交换的元素,排序结束)
最坏的情况:0(n^2)
稳定性:稳定
"""
def bubble_sort(alist):
n=len(alist)
for j in range(0,n-1):#执行多少次
count=0
for i in range(0,n-1-j):
#0...n-2 从头走到尾
if alist[i]>alist[i+1]:
alist[i],alist[i+1]=alist[i+1],alist[i]
if 0==count:
return
if __name__=="__main__":
ii=[54,26,93,17,77,31,44,55,20]
print(ii)
bubble_sort(ii)
print(ii)
本文探讨了排序算法的稳定性概念,并详细介绍了冒泡排序算法。通过具体实例,展示了冒泡排序的时间复杂度和稳定性特点,同时提供了Python实现代码。
720

被折叠的 条评论
为什么被折叠?



