一、排序算法的稳定性
数据结构:顺序表、链表、栈和队列已经讲完了
现在到排序与搜索
二、冒泡排序
当是从小到大排序的时候,每次把最大的放在最后面,相当于有一个东西向外面冒。
时间复杂度:
# -*- 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)