python-桶排序
生活随笔
收集整理的這篇文章主要介紹了
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 bucketSort(nums)""" [0, 0, 1, 2, 2, 3, 5, 6, 8, 65] """轉載于:https://www.cnblogs.com/qlshine/p/6027751.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python-桶排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python3.X新特性之print和e
- 下一篇: 居然是Firefox没有抛弃我们