亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

本文實例講述了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-8
def bucketSort(nums):
  # 選擇一個最大的數(shù)
  max_num = max(nums)
  # 創(chuàng)建一個元素全是0的列表, 當做桶
  bucket = [0]*(max_num+1)
  # 把所有元素放入桶中, 即把對應元素個數(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_nums
nums = [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程序設計有所幫助。

相關(guān)文章

  • Windows下PyMongo下載及安裝教程

    Windows下PyMongo下載及安裝教程

    這篇文章主要介紹了Windows下PyMongo下載及安裝教程,本文講解了源碼安裝方法和exe軟件安裝方法,需要的朋友可以參考下
    2015-04-04
  • 利用Hyperic調(diào)用Python實現(xiàn)進程守護

    利用Hyperic調(diào)用Python實現(xiàn)進程守護

    這篇文章主要為大家詳細介紹了利用Hyperic調(diào)用Python實現(xiàn)進程守護,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Python reduce()函數(shù)的用法小結(jié)

    Python reduce()函數(shù)的用法小結(jié)

    reduce()函數(shù)即為化簡函數(shù),它的執(zhí)行過程為:每一次迭代,都將上一次的迭代結(jié)果,需要的朋友可以參考下
    2017-11-11
  • 教你如何使用Python快速爬取需要的數(shù)據(jù)

    教你如何使用Python快速爬取需要的數(shù)據(jù)

    學點數(shù)據(jù)爬蟲基礎能讓繁瑣的數(shù)據(jù)CV工作(Ctrl+C,Ctrl+V)成為自動化就足夠了.作為一名數(shù)據(jù)分析師而并非開發(fā)工程師,需要掌握的爬蟲必備的知識內(nèi)容,能獲取需要的數(shù)據(jù)即可 ,需要的朋友可以參考下
    2021-06-06
  • TOPI如何使TVM代碼不那么樣板化

    TOPI如何使TVM代碼不那么樣板化

    這篇文章主要為大家介紹了TOPI如何使TVM代碼不那么樣板化實現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 使用Python構(gòu)建Hopfield網(wǎng)絡的教程

    使用Python構(gòu)建Hopfield網(wǎng)絡的教程

    這篇文章主要介紹了使用Python構(gòu)建Hopfield網(wǎng)絡的教程,本文來自于IBM官方網(wǎng)站的技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python用csv寫入文件_消除空余行的方法

    Python用csv寫入文件_消除空余行的方法

    今天小編就為大家分享一篇Python用csv寫入文件_消除空余行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python字典的核心底層原理講解

    Python字典的核心底層原理講解

    今天小編就為大家分享一篇關(guān)于Python字典的核心底層原理講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Python的類實例屬性訪問規(guī)則探討

    Python的類實例屬性訪問規(guī)則探討

    這篇文章主要介紹了Python的類實例屬性訪問規(guī)則,本文總結(jié)了一些對C++和Java程序員來說不是很直觀的地方來說明Python中的類實例屬性訪問,需要的朋友可以參考下
    2015-01-01
  • python3的url編碼和解碼,自定義gbk、utf-8的例子

    python3的url編碼和解碼,自定義gbk、utf-8的例子

    今天小編就為大家分享一篇python3的url編碼和解碼,自定義gbk、utf-8的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論