桶排序--將要排序的資料分到幾個有序的桶裡,每個桶裡的資料再單獨進行排序(桶內使用歸併排序保證穩定性),再把每個桶裡的資料按照順序依次取出
計數排序--獲取資料項大小範圍,設定 「範圍大小+1」 個桶,n個桶只代表0~n-1個數字,分別對值為每個桶代表的數字的資料項計數,放入對應桶,再對桶順序求和放入桶,最後從後遍歷資料項,取對應下標桶的計數為其排序後下標,取完桶計數減一,遍歷完則排序完成。
基數排序--對等長資料項進行排序,為保持穩定,從最後一位開始,每次按資料項的一位進行排序,排序過程可用桶排序或計數排序,各位排序完成則排序完成,複雜度o(k*n),k為位數
資料結構與演算法簡記 排序演算法 1
最好情況,最壞情況,平均情況時間複雜度 時間複雜度的係數,常數,低階 比較次數和交換 或移動 次數 原地排序,空間複雜度o 1 關注的是值相同的項,排序前後的先後順序是否不變,一致則表示是穩定演算法 排序演算法動畫演示 插入排序比氣泡排序高效 氣泡排序的資料交換有三個操作,插入排序資料移動只有乙個操...
資料結構與演算法簡記 雜湊演算法
將任意長度的二進位制值串對映為固定長度的二進位制值串,這個對映的規則就是雜湊演算法。而通過原始資料對映之後得到的二進位制值串就是雜湊值。md5 md5 message digest algorithm,md5 訊息摘要演算法 sha secure hash algorithm,安全雜湊演算法 借助h...
資料結構與演算法簡記 貪心演算法
第一步,當我們看到這類問題的時候,首先要聯想到貪心演算法 針對一組資料,我們定義了限制值和期望值,希望從中選出幾個資料,在滿足限制值的情況下,期望值最大。第二步,我們嘗試看下這個問題是否可以用貪心演算法解決 每次選擇當前情況下,在對限制值同等貢獻量的情況下,對期望值貢獻最大的資料。第三步,我們舉幾個...