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

首頁 > 編程 > Python > 正文

Python實現(xiàn)的桶排序算法示例

2020-02-16 10:52:57
字體:
供稿:網(wǎng)友

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

桶排序也叫計數(shù)排序,簡單來說,就是將數(shù)據(jù)集里面所有元素按順序列舉出來,然后統(tǒng)計元素出現(xiàn)的次數(shù)。最后按順序輸出數(shù)據(jù)集里面的元素。

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

注意: 桶排序不能排序小數(shù)

以下為從小到大代碼實現(xiàn)

#!/usr/bin/env python# coding:utf-8def bucketSort(nums):  # 選擇一個最大的數(shù)  max_num = max(nums)  # 創(chuàng)建一個元素全是0的列表, 當(dāng)做桶  bucket = [0]*(max_num+1)  # 把所有元素放入桶中, 即把對應(yīng)元素個數(shù)加一  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 "武林站長站測試結(jié)果:"print bucketSort(nums)"""[0, 0, 1, 2, 2, 3, 5, 6, 8, 65]"""

運行結(jié)果:

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

PS:關(guān)于排序算法的詳細說明還可參考本站在線工具:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具
http://tools.jb51.net/aideddesign/paixu_ys

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 常熟市| 河北区| 仪陇县| 平顶山市| 抚顺市| 长顺县| 昌图县| 随州市| 岗巴县| 灵寿县| 灵宝市| 宝清县| 阿拉善左旗| 高碑店市| 新竹市| 临漳县| 山东省| 龙泉市| 龙川县| 台东市| 左权县| 黎川县| 嘉禾县| 青田县| 开原市| 珠海市| 富源县| 根河市| 多伦县| 井研县| 福建省| 包头市| 垣曲县| 临桂县| 江油市| 苍南县| 淳安县| 南丰县| 辽宁省| 克拉玛依市| 六盘水市|