**:
#coding:utf-8
#author:徐卜靈
#l = [6, 3, 2, 32, 5, 4]
defselect_sort(l):
for i in
range(0,len(l)):
for j in
range(i,len(l)):
if l[i] > l[j]: #
打擂台的形式
#temp = l[i]
#l[i] = l[j]
#l[j] = temp
# l[i],l[j] =l[j],l[i]
return
lprint select_sort(l)
這個演算法更簡單了,記住三個字:打擂台。
時間複雜度o(n ** 2)
空間複雜度o(1)
不穩定演算法。
記住四個穩定排序演算法:直接插入排序、氣泡排序、二路歸併排序、基數排序。剩下都是不穩定的。
八大排序演算法python實現
1.氣泡排序 氣泡排序重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越大的元素會經由交換慢慢 浮 到數列的頂端,故名。步驟 比較相鄰的元素。如果第乙個比第二個大,就交...
八大排序演算法
1.直接插入排序 原理 將陣列分為無序區和有序區兩個區,然後不斷將無序區的第乙個元素按大小順序插入到有序區中去,最終將所有無序區元素都移動到有序區完成排序。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。實現 void insertsort node l,int length void shell ...
八大排序演算法
一 概述 八大排序演算法包括 1 插入排序之直接插入排序 straight insertion sort 2 插入排序之希爾排序 shells sort 3 選擇排序之簡單選擇排序 selection sort 4 選擇排序之堆排序 heap sort 5 交換排序之氣泡排序 bubble sort...