資料結構與演算法 選擇排序,插入排序

2021-10-01 12:47:33 字數 663 閱讀 8413

選擇排序

原理:每次選擇最大的或最小的乙個放在最前面後最後面

時間複雜度:o(n^2)

空間複雜度:o(1)

不穩定排序

/**

* 選擇排序

*/public

static

void

selectsort

(int

list)

}int temp = list[minindex]

; list[minindex]

=list[i]

; list[i]

=temp;

}}

插入排序

原理:每一輪向前面有序數列中按順序插入乙個數

時間複雜度:o(n^2)

空間複雜度:o(1)

穩定排序

/**

* 插入排序

*/public

static

void

insertsort

(int

list)

list[j+1]

=temp;

}}

這兩個沒見到過什麼優化方案,看**就應該懂了

資料結構 排序演算法 插入排序 選擇排序

今天我們來總結一下資料結構中各種排序演算法。資料結構排序演算法 part1 直接插入排序 思想 當插入第i i 1 個元素時,前面的array 0 array 1 array i 1 已經排好 序,此時用array i 的排序碼與array i 1 array i 2 的排序碼順序進行比較,找到插入...

資料結構與演算法三(氣泡排序 選擇排序 插入排序)

排序 將一組 無序 的記錄序列調整為 有序 的記錄序列 公升序與降序 列表排序 將無序列表變為有序列表 def bubble sortup li 氣泡排序公升序 for i in range len li 1 第i趟 exchange false 增加乙個標誌位,當某一趟結束後列表順序沒有改變,說明...

資料結構與演算法 插入排序

將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料 插入排序分為兩種 直接插入排序和希爾排序 插入排序與打撲克時整理手上的牌非常類似。摸來的第1張牌無須整理,此後每次從桌上的牌 無序區 中摸最上面的1張並插入左手的牌 有序區 中正確的位置上。為了找到這個正確的位置,須自左向...