最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2017年11月29日 10:17:24   作者:qlshine  
這篇文章主要介紹了Python實(shí)現(xiàn)的桶排序算法,簡(jiǎn)單說明了桶排序的概念、原理及優(yōu)缺點(diǎn),并結(jié)合實(shí)例形式演示了Python實(shí)現(xiàn)桶排序的方法,需要的朋友可以參考下

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

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

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

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

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

#!/usr/bin/env python
# coding:utf-8
def bucketSort(nums):
  # 選擇一個(gè)最大的數(shù)
  max_num = max(nums)
  # 創(chuàng)建一個(gè)元素全是0的列表, 當(dāng)做桶
  bucket = [0]*(max_num+1)
  # 把所有元素放入桶中, 即把對(duì)應(yīng)元素個(gè)數(shù)加一
  for i in nums:
    bucket[i] += 1
  # 存儲(chǔ)排序好的元素
  sort_nums = []
  # 取出桶中的元素
  for j in range(len(bucket)):
    if bucket[j] != 0:
      for y in range(bucket[j]):
        sort_nums.append(j)
  return sort_nums
nums = [5,6,3,2,1,65,2,0,8,0]
print "腳本之家測(cè)試結(jié)果:"
print bucketSort(nums)
"""
[0, 0, 1, 2, 2, 3, 5, 6, 8, 65]
"""

運(yùn)行結(jié)果:

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

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

在線動(dòng)畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具
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ìn)階經(jīng)典教程

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

相關(guān)文章

  • 解決python打不開文件(文件不存在)的問題

    解決python打不開文件(文件不存在)的問題

    今天小編就為大家分享一篇解決python打不開文件(文件不存在)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python 裝飾器功能與用法案例詳解

    python 裝飾器功能與用法案例詳解

    這篇文章主要介紹了python 裝飾器功能與用法,結(jié)合具體實(shí)例形式詳細(xì)分析了python 裝飾器的基本原理、功能、用法及操作注意事項(xiàng)
    2020-03-03
  • Python可變和不可變、類的私有屬性實(shí)例分析

    Python可變和不可變、類的私有屬性實(shí)例分析

    這篇文章主要介紹了Python可變和不可變、類的私有屬性,結(jié)合實(shí)例形式分析了Python值可變與不可變的情況及內(nèi)存地址變化,類的私有屬性定義、訪問相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • 解決pycharm下pyuic工具使用的問題

    解決pycharm下pyuic工具使用的問題

    這篇文章主要介紹了解決pycharm下pyuic工具使用的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python處理重復(fù)字符

    Python處理重復(fù)字符

    在文本處理的時(shí)候,我們時(shí)常會(huì)遇到需要處理重復(fù)字樣的情況,Python提供了很多方法來處理這種情況,下面就來詳細(xì)的介紹幾種方法,感興趣的可以了解一下
    2024-02-02
  • Python 常用日期處理 -- calendar 與 dateutil 模塊的使用

    Python 常用日期處理 -- calendar 與 dateutil 模塊的使用

    這篇文章主要介紹了Python如何使用calendar 與 dateutil 模塊處理日期,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • python寫個(gè)喚醒睡眠電腦的腳本

    python寫個(gè)喚醒睡眠電腦的腳本

    這篇文章主要為大家詳細(xì)介紹了如何使用python寫個(gè)喚醒睡眠電腦的腳本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • 在Python中使用lambda高效操作列表的教程

    在Python中使用lambda高效操作列表的教程

    這篇文章主要介紹了在Python中使用lambda高效操作列表的教程,結(jié)合了包括map、filter、reduce、sorted等函數(shù),需要的朋友可以參考下
    2015-04-04
  • 解決python selenium3啟動(dòng)不了firefox的問題

    解決python selenium3啟動(dòng)不了firefox的問題

    今天小編就為大家分享一篇解決python selenium3啟動(dòng)不了firefox的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python本地及虛擬解釋器配置過程解析

    Python本地及虛擬解釋器配置過程解析

    這篇文章主要介紹了Python本地及虛擬解釋器配置過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論

潜江市| 东城区| 时尚| 固原市| 东乌珠穆沁旗| 虹口区| 海晏县| 珲春市| 汉源县| 腾冲县| 罗源县| 长泰县| 曲沃县| 犍为县| 墨玉县| 景谷| 托克逊县| 泊头市| 遵化市| 贡山| 封丘县| 巩义市| 乌海市| 和硕县| 灵寿县| 南投县| 尼勒克县| 措勤县| 澜沧| 常熟市| 福海县| 玉环县| 泉州市| 广德县| 渭源县| 乌审旗| 永康市| 姜堰市| 汾阳市| 永胜县| 揭阳市|