国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

深入解析桶排序算法及Node.js上JavaScript的代碼實現

2019-11-20 09:32:39
字體:
來源:轉載
供稿:網友

1. 桶排序介紹
桶排序(Bucket sort)是一種基于計數的排序算法,工作的原理是將數據分到有限數量的桶子里,然后每個桶再分別排序(有可能再使用別的排序算法或是以遞回方式繼續使用桶排序進行排序)。當要被排序的數據內的數值是均勻分配的時候,桶排序時間復雜度為Θ(n)。桶排序不同于快速排序,并不是比較排序,不受到時間復雜度 O(nlogn) 下限的影響。
桶排序按下面4步進行:
(1)設置固定數量的空桶。
(2)把數據放到對應的桶中。
(3)對每個不為空的桶中數據進行排序。
(4)拼接從不為空的桶中數據,得到結果。
桶排序,主要適用于小范圍整數數據,且獨立均勻分布,可以計算的數據量很大,而且符合線性期望時間。

2. 桶排序算法演示
舉例來說,現在有一組數據[7, 36, 65, 56, 33, 60, 110, 42, 42, 94, 59, 22, 83, 84, 63, 77, 67, 101],怎么對其按從小到大順序排序呢?

201676175211022.png (850×614)

操作步驟說明:
(1)設置桶的數量為5個空桶,找到最大值110,最小值7,每個桶的范圍20.8=(110-7+1)/5 。
(2)遍歷原始數據,以鏈表結構,放到對應的桶中。數字7,桶索引值為0,計算公式為floor((7

主站蜘蛛池模板: 承德市| 海城市| 建始县| 金华市| 靖安县| 龙游县| 项城市| 手机| 太仓市| 紫阳县| 崇州市| 英超| 大邑县| 聂荣县| 黄冈市| 苗栗市| 万源市| 沂南县| 涿州市| 太仓市| 左云县| 灵川县| 凤庆县| 忻城县| 翁源县| 客服| 乐陵市| 广宗县| 古浪县| 庆阳市| 依兰县| 华蓥市| 静安区| 余干县| 灵山县| 临安市| 南川市| 商城县| 饶阳县| 张家界市| 沛县|