鴿巢排序,排序位元組串、寬位元組串最快的排序演算法,計數排序的變種(將計數緩衝區大小固定,少一次遍歷開銷),速度是stl中std::sort的20多倍 ,更重要的是實現極其簡單!缺點是需要乙個size至少等於待排序陣列取值範圍的緩衝區,不適合int等大範圍資料。
多一次遍歷的計數排序,排序位元組串的話速度約是鴿巢排序的一半。
快速排序,快排最標準的遞迴實現,速度約是std::sort的一半
這是速度與std::sort相當的三路劃分快排
相當簡單的梳排序,效率是std::sort的三分之一
lsd基數排序,與std::sort速度相當,但是需要乙個與輸入緩衝一樣大的緩衝區
歸併排序,效率越是std::sort的六分之一,通常的實現是遞迴,但和快排不同,歸併改迴圈極其容易
快速排序演算法的幾種實現
序列範圍 l,u 選取第乙個元素為樞紐值,然後圍繞t劃分陣列 m a 1 for i a,b if x i 迴圈終止後有 此時交換x l 和x m 即可。void qsort1 int x,int l,int u swap x l x m qsort x,l,m 1 qsort x,m 1,u 可以...
幾種排序演算法 (快速排序 堆排序)
快速排序 include usingnamespacestd voidqsort inta,intlow,inthigh intfirst low intlast high intkey a first 用字表的第乙個記錄作為樞軸 while first last a first a last 將比...
快速排序演算法的幾種版本及實現
寫在前面的話 最近系統地學習了快速排序演算法,在此作一筆記。主要包括快排的各種版本 普通版本,改進的普通版本,隨機化版本,三數值取中分割版本和stooge版本。對各版本進行了簡要分析,並給出了具體實現。演算法導論 對快排的描述 快速排序是基於分治模式的,下面是對乙個典型子陣列a p.r 排序的分治過...