python-桶排序
生活随笔
收集整理的這篇文章主要介紹了
python-桶排序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
桶排序
通排序非常浪費(fèi)空間, 比如需要排序的范圍在0~2000之間, 需要排序的數(shù)是[3,9,4,2000], 同樣需要2001個(gè)空間
注意: 通排序不能排序小數(shù)
以下為從小到大代碼實(shí)現(xiàn)
#!/usr/bin/env python # coding:utf-8def 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_numsnums = [5,6,3,2,1,65,2,0,8,0] print bucketSort(nums)""" [0, 0, 1, 2, 2, 3, 5, 6, 8, 65] """轉(zhuǎn)載于:https://www.cnblogs.com/qlshine/p/6027751.html
與50位技術(shù)專(zhuān)家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的python-桶排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python3.X新特性之print和e
- 下一篇: 原创:centos7.1下 ZooKee