冒泡排序选择排序插入排序
生活随笔
收集整理的這篇文章主要介紹了
冒泡排序选择排序插入排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 冒泡排序
- 選擇排序
- 插入排序
冒泡排序
冒泡排序(最好是O(n), 最壞O(n2))
原理:
拿自己與上面一個比較,如果上面一個比自己小就將自己和上面一個調換位置,依次再與上面一個比較,第一輪結束后最上面那個一定是最大的數
時間復雜度:O(n2)
空間復雜度:O(1)
穩定性:穩定
冒泡排序代碼
def bubble_sort(blist):count = len(blist)for i in range(0, count):for j in range(i + 1, count):if blist[i] > blist[j]:blist[i], blist[j] = blist[j], blist[i]return blistblist = bubble_sort([4,5,6,7,3,2,6,9,8]) print(blist)選擇排序
時間復雜度:O(n2)
空間復雜度:O(1)
穩定性:不穩定
選擇排序代碼
def select_sort(slist):for i in range(len(slist)):x = ifor j in range(i, len(slist)):if slist[j] < slist[x]:x = jslist[i], slist[x] = slist[x], slist[i]return slistslist = select_sort([4,5,6,7,3,2,6,9,8])插入排序(比如碼牌)
時間復雜度:O(n2)
空間復雜度:O(1)
穩定性:穩定
插入排序代碼
def insert_sort(ilist):for i in range(len(ilist)):for j in range(i):if ilist[i] < ilist[j]:ilist.insert(j, ilist.pop(i))breakreturn ilist print(insert_sort(ilist=[5,2,9,6,8,4])) 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的冒泡排序选择排序插入排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用docker-compose部署se
- 下一篇: 快排堆排归排三种排序的比较