桶排序時(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ù)這些表。
猜你喜歡
立春后喝什么花茶 立春后飲食注意事項(xiàng)
立春后還會冷多久 立春的氣候特點(diǎn)
立春后怎么養(yǎng)生最好 立春后吃什么養(yǎng)生
立春后曬背有什么好處 立春后曬背注意事項(xiàng)
走親戚為什么夫妻不能同房睡 不同地區(qū)走親戚習(xí)俗差異有哪些
走親戚一般上午還是下午 走親戚時(shí)需要注意哪些禮儀細(xì)節(jié)
走親戚送什么水果好 走親戚需要注意什么
走親戚串門送什么禮物 走親戚有什么忌諱
健身雞胸肉蒸多久最嫩 健身人士怎么吃雞胸肉好
小雁塔和大雁塔的區(qū)別 小雁塔和大雁塔的故事
桶排序時(shí)間復(fù)雜度 桶排序時(shí)間復(fù)雜度是什么
美股開盤時(shí)間 美股什么時(shí)候開盤
錢塘江大潮的時(shí)間 錢塘江大潮時(shí)間是什么時(shí)候
泉城廣場噴泉時(shí)間 濟(jì)南泉城廣場噴泉簡介
高鐵檢票時(shí)間 高鐵多久開始檢票
五四運(yùn)動(dòng)時(shí)間 五四運(yùn)動(dòng)的起因