演算法筆記(第一部分) 排序之白話選擇排序

2021-08-29 16:40:31 字數 395 閱讀 4516

選擇排序的工作原理:

1. 找到資料集中的最小元素

2. 將最小元素與未排序剩餘元素的第乙個元素交換

3. 對剩餘元素進行以上步驟

它的時間複雜度是:о(n²),空間複雜度是:о(n),同插入排序類似,它也不適用於大資料集。但是它易於實現,也是一種in-place的排序演算法。對於穩定性:簡易實現是不穩定的,例如(3 5 5 2),在第二輪中第二個五會被認為是最小的,然後同第乙個五進行交換。

選擇排序的動畫:

[img]

選擇排序**(遞增):

public void selection_sort(int data)

}swap(data,i,minimum);}}

演算法筆記(第一部分) 排序之白話插入排序

插入排序也是一種比較簡單的排序方法,它的基本原理就好似我們打牌過程中摸牌理牌那一環 當你摸到一張牌後將其插入到合適的位置。插入排序首先定位乙個數 一般從第二個開始 將這個數依次與位於它之前的數進行比較,經過一輪比較,找到它在這些數中適當的位置。然後定位下乙個數,再找到合適的位置,依次進行直到最後乙個...

演算法導論第一部分筆記

一 偽 規範總結 1 縮排表示塊的結構 實際上這個我們可以聯想python來理解 2 while 後面跟上end比較好,for to downto 後面則不需要 3 大部分都類似於c的 4 部分操作可以由英文來代替 5 一般不使用全域性變數,復合資料往往組織為物件來進行操作 二 演算法複雜度 跳過 ...

演算法第一部分(1)

1.學習演算法,最好先了解陣列,鍊錶,堆,棧等線性結構 2.對遞迴,遍歷,演算法複雜度有著常識性理解 3.主要包括三方面的知識 線性 主要是排序 樹形結構 圖形結構 定義 選擇排序每次都從剩下的n i 個元素找到最小的數,並與i位置的數交換位置。public void selectionsort t...