以下筆記主要針對直接選擇排序
演繹過程中一開始對直接選擇排序的最值替換排序語句放的位置有所疑問,以為應該是下面這樣:
def select_sort(array):
for i in range(len(array)-1):
for j in range(i+1, len(array)):
if array[j] < array[i]:
array[i], array[j] = array[j], array[i]
def select_sort(array):
for i in range(len(array)-1):
min = i
for j in range(i+1, len(array)):
if array[j] < array[min]:
min = j
array[i], array[min] = array[min], array[i]
但讓自己這樣一改,形式上有點像氣泡排序了,但氣泡排序的每次對比是相鄰兩個數做對比,然後排序,也是有點不一樣了。 排序演算法個人總結
最近在看演算法,自然而然地就看到了排序。下面記錄一下自己的學習過程。一 歸併排序 首先我說說我理解的歸併演算法的核心 歸即將陣列中分為小部分的集合,其中也即數成為區域性有序的集合。然後再將這些有序陣列合併起來。歸 一般以中點劃分,不斷地遞迴,以使陣列有序,其實歸和並是互動的。如8個數字,歸為4,4。...
面試排序演算法個人總結
總結了很久的排序演算法,自己測試了很多次,一直寫在筆記本上,還是怕弄丟了,還是貼到部落格上面來吧 氣泡排序 交換排序 氣泡排序 param arr public static void bubblesort long arr if exchange 0 插入排序 直接插入排序 param arr p...
經典排序演算法個人總結
應用場景 求乙個問題最優解,且該問題可分解為若干子問題,子問題還能再分為子問題且每個子問題都存在最優解 整個問題的最優解依賴於各個子問題的最優解 從上向下分析問題,從下向上求解問題 解決最小問題開始,並且把已經解決的子問題的最優解儲存下來 面試題通常儲存在一維或二維陣列裡 然後把子問題最優解組合起來...