選擇排序
原理:每次選擇最大的或最小的乙個放在最前面後最後面
時間複雜度: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張並插入左手的牌 有序區 中正確的位置上。為了找到這個正確的位置,須自左向...