摘要:簡單意義上的桶排序桶排序的原理是先安排個桶作為容器若數(shù)據(jù)范圍為的話。最后循環(huán)桶里的元素并且輸出進行從大到小或從小到大的排序。
簡單意義上的桶排序:
桶排序的原理是先安排N+1個桶作為容器,若數(shù)據(jù)范圍為N的話。
然后將測試數(shù)據(jù)(所需排序的數(shù)據(jù))進行循環(huán),放入對應(yīng)的桶內(nèi)。數(shù)據(jù)一定是在范圍N內(nèi)的。
最后,循環(huán)桶里的元素,并且輸出,進行從大到小或從小到大的排序。
例如:我們的取值范圍是10,那么就要定義一個 11長度的數(shù)組$arr. 并且讓所有的元素值都為0
然后,對需要排序的數(shù)組進行循環(huán) 如5,3,5,2,8.
將數(shù)據(jù)依次對應(yīng)$arr桶數(shù)組內(nèi)元素,即 如果是5,則使$arr[5]++.
這時候 $arr[2]=1 $arr[3]=1 $arr[5]=2 $arr[8]=1
然后循環(huán)$arr的數(shù)組,若$arr[2]=1,則循環(huán)輸出元素2一次,$arr[5]=2,則循環(huán)輸出5兩次
結(jié)果輸出即為 2 3 5 5 8
如果循環(huán)數(shù)值是從大到小 則會是從大到小的排序
"; } } ?>缺點:
浪費空間.
無法進行浮點數(shù)據(jù)的排序.
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22446.html
摘要:計數(shù)排序計數(shù)排序就是簡單的桶排序,一個桶代表數(shù)組中一個數(shù)出現(xiàn)的個數(shù),所以需要一個和數(shù)組數(shù)字范圍一樣大的輔助數(shù)組,一般用在范圍小于的排序,時間復(fù)雜度為,空間復(fù)雜度為數(shù)組的數(shù)字范圍。 計數(shù)排序 計數(shù)排序就是簡單的桶排序,一個桶代表數(shù)組中一個數(shù)出現(xiàn)的個數(shù),所以需要一個和數(shù)組數(shù)字范圍一樣大的輔助數(shù)組,一般用在范圍小于100的排序,時間復(fù)雜度為O(n),空間復(fù)雜度為數(shù)組的數(shù)字范圍。 /** *...
閱讀 2123·2021-11-23 10:06
閱讀 3488·2021-11-11 16:54
閱讀 3352·2019-08-29 17:31
閱讀 3576·2019-08-29 17:05
閱讀 2175·2019-08-26 13:36
閱讀 2165·2019-08-26 12:17
閱讀 536·2019-08-26 12:12
閱讀 1681·2019-08-26 10:19