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

首頁 > 編程 > Python > 正文

Python實現的桶排序算法示例

2020-01-04 16:14:20
字體:
來源:轉載
供稿:網友

本文實例講述了Python實現的桶排序算法。分享給大家供大家參考,具體如下:

桶排序也叫計數排序,簡單來說,就是將數據集里面所有元素按順序列舉出來,然后統計元素出現的次數。最后按順序輸出數據集里面的元素。

但是桶排序非常浪費空間, 比如需要排序的范圍在0~2000之間, 需要排序的數是[3,9,4,2000], 同樣需要2001個空間

注意: 桶排序不能排序小數

以下為從小到大代碼實現

#!/usr/bin/env python# coding:utf-8def bucketSort(nums):  # 選擇一個最大的數  max_num = max(nums)  # 創建一個元素全是0的列表, 當做桶  bucket = [0]*(max_num+1)  # 把所有元素放入桶中, 即把對應元素個數加一  for i in nums:    bucket[i] += 1  # 存儲排序好的元素  sort_nums = []  # 取出桶中的元素  for j in range(len(bucket)):    if bucket[j] != 0:      for y in range(bucket[j]):        sort_nums.append(j)  return sort_numsnums = [5,6,3,2,1,65,2,0,8,0]print "VEVB武林網測試結果:"print bucketSort(nums)"""[0, 0, 1, 2, 2, 3, 5, 6, 8, 65]"""

運行結果:

Python,桶排序,算法

總體來說,桶排序的優點就是特別快,真的是特別快!特別快!特別塊!而缺點就是特別耗資源,如果數據取值的范圍是0---1010, 就要申請一個大小為1010的數組,想想這得多耗內存空間。闊怕!且桶排序只能排序大于零的整數。

希望本文所述對大家Python程序設計有所幫助。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 钟祥市| 聂拉木县| 伊通| 盐山县| 通许县| 边坝县| 凌源市| 南木林县| 肃南| 阳泉市| 竹溪县| 武陟县| 资中县| 兴文县| 会昌县| 德庆县| 扶沟县| 江源县| 定西市| 秭归县| 潜山县| 清原| 阳信县| 绥芬河市| 囊谦县| 康平县| 桃江县| 淳化县| 祥云县| 禄丰县| 苏尼特左旗| 卢龙县| 密云县| 遵义市| 石家庄市| 西藏| 淄博市| 双柏县| 自治县| 霍林郭勒市| 礼泉县|