3種基礎排序演算法O N 2 冒泡 插入 選擇

2021-10-01 03:08:10 字數 1001 閱讀 5099

常數時間的操作:乙個操作如果和資料量沒有關係,每次都是固定時間內完成的操作,叫做常數操作。

時間複雜度為乙個演算法流程中,常數運算元量的指標。常用o(big o)來表示。具體來說,在常數運算元量的表示式中只要高階項,不要低階項,也不要高階項的係數,剩下的部分記為f(n),那麼時間複雜度為o( f(n) )。

評價乙個演算法流程的好換,先看時間複雜度的指標,然後再分析不同資料樣本下的實際執行時間,也就是常數項時間。

各種排序演算法:

public

static

void

bubblesort

(int

arr)

for(

int e = arr.length -

1; e >

0; e--)}

}}//交換位置

public

static

void

swap

(int

arr,

int i,

int j)

public

static

void

insertionsort

(int

arr)

for(

int i =

1; i < arr.length; i++)}

}

選擇排序:定義乙個存放最小值的變數,遍歷陣列,取出最小的值的下標,與第一位交換,同時不再參與遍歷,依次取出最小值排序。

public

static

void

selectionsort

(int

arr)

for(

int i =

0; i < arr.length -

1; i++

)swap

(arr, i, minindex);}

}

插入 冒泡 選擇排序 區分O n 2

這三個排序都是 n 方,然而我老是記錯他們之間的名字,到時候考研卷子上寫錯了就涼涼 謹以此部落格紀念我傻傻分不清楚他們的名字的歲月。助記 從後向前插入,前面已有序 從前向後遍歷,假設當前遍歷的是第 i 個元素,那麼前 i 1個已經有序,然後再將當前這個與前面的元素倒著回去比較,直到遇到比第 i 個小...

演算法之排序 插入排序O n 2

目錄 1.走讀插入排序 演算法複雜度o n 2 空間複雜度o 1 2.插入排序特性 3.以下兩段 4.優缺點比較 排序之後的前n個元素是有序的 一 int sort insert int a,int size a j temp j i printf temp d,moved d n temp,n p...

3種簡單排序演算法 冒泡,選擇,插入排序

1.氣泡排序 就是從最左邊開始,重複地訪問要排序的數列,一次比較兩個元素,如果他們的順序錯誤,就把他們交換。通過一次次的比較,越大的元素會通過交換慢慢 浮 到數列的頂端,故名 冒泡 是穩定的排序演算法。實現 1.常規實現 public class bubblesort 臨時儲存資料 int temp...