桶排序時(shí)間復(fù)雜度 桶排序時(shí)間復(fù)雜度是什么
2020-07-29 天奇生活 【 字體:大 中 小 】
桶排序時(shí)間復(fù)雜度:O(N+C),其中C=N*(logN-logM)。桶排序是一個(gè)排序算法,工作的原理是將數(shù)組分到有限數(shù)量的桶子里,每個(gè)桶子再使用別的排序算法或以遞歸方式繼續(xù)使用桶排序進(jìn)行排序。
桶排序的平均時(shí)間復(fù)雜度為線性的O(N+C),其中C=N*(logN-logM)。如果相對于同樣的N,桶數(shù)量M越大,其效率越高,最好的時(shí)間復(fù)雜度達(dá)到O(N)。當(dāng)然桶排序的空間復(fù)雜度為O(N+M),如果輸入數(shù)據(jù)非常龐大,而桶的數(shù)量也非常多,則空間代價(jià)無疑是昂貴的。此外,桶排序是穩(wěn)定的。
桶排序的方法
桶排序算法要求,數(shù)據(jù)的長度必須完全一樣,程序過程要產(chǎn)生長度相同的數(shù)據(jù),其方法為:Data=rand()/10000+10000。
每次進(jìn)行下一次的掃描順序是按照上次掃描的結(jié)果來的,所以設(shè)計(jì)上提供相同的兩個(gè)桶數(shù)據(jù)結(jié)構(gòu)。前一個(gè)保存每一次掃描的結(jié)果供下次調(diào)用,另外一個(gè)臨時(shí)拷貝前一次掃描的結(jié)果提供給前一個(gè)調(diào)用。
在桶排序算法的代碼中,假設(shè)輸入是含n個(gè)元素的數(shù)組A,且每個(gè)元素滿足0≤ A[i]<1。另外還需要一個(gè)輔助數(shù)組B[O..n-1]來存放鏈表實(shí)現(xiàn)的桶,并假設(shè)可以用某種機(jī)制來維護(hù)這些表。
猜你喜歡

青團(tuán)的餡料有哪些 青團(tuán)的別名


青團(tuán)怎么做好吃 做青團(tuán)的小技巧


吃青團(tuán)需要注意什么 青團(tuán)的常見做法


春捂到什么時(shí)候最合適 春捂有哪些好處


春分飲食注意事項(xiàng) 如何通過飲食預(yù)防春困


春分節(jié)氣注意事項(xiàng) 春分節(jié)氣天氣變化


黃燜雞的做法 哪些人不適合吃黃燜雞


春分節(jié)氣喝什么湯 春分節(jié)氣的習(xí)俗


春分節(jié)氣吃什么好 春分節(jié)氣喝什么茶飲


春分節(jié)氣怎么養(yǎng)生 春分養(yǎng)生食譜


桶排序時(shí)間復(fù)雜度 桶排序時(shí)間復(fù)雜度是什么


美股開盤時(shí)間 美股什么時(shí)候開盤


錢塘江大潮的時(shí)間 錢塘江大潮時(shí)間是什么時(shí)候


泉城廣場噴泉時(shí)間 濟(jì)南泉城廣場噴泉簡介


高鐵檢票時(shí)間 高鐵多久開始檢票


五四運(yùn)動時(shí)間 五四運(yùn)動的起因
