桶排序

通排序非常浪费空间, 比如需要排序的范围在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

python-桶排序相关推荐

  1. Python 桶排序

    Python 桶排序 线性排序: 线性排序即排序算法的时间复杂度是线性的,也就是 O(n).桶排序.计数排序.基数排序这三个算法是不基于比较的排序算法,都不涉及元素之间的比较操作. 桶排序(Bucke ...

  2. python 实现桶排序

    前言 桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里.每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序).桶排序是鸽 ...

  3. 计数排序、桶排序和基数排序的运算性能对比及总结区别(附python代码)

    首先证明一波排序算法的运算性能,如下图.对于50万个数据的无序列表,时间复杂度为的桶排序和计数排序明显比复杂度为的归并排序和快速排序性能好至少一个数量级. 1. 计数排序  1.1 基本原理:首先确定 ...

  4. 计数排序与桶排序python实现

    计数排序与桶排序python实现 计数排序 计数排序原理: 找到给定序列的最小值与最大值 创建一个长度为最大值-最小值+1的数组,初始化都为0 然后遍历原序列,并为数组中索引为当前值-最小值的值+1 ...

  5. Python实现桶排序

    Python实现桶排序 一.桶排序简介 桶排序(Bucket sort)是一种通过分桶和合并实现的排序算法,又被称为箱排序. 桶排序先将数据分到有限数量的桶里,然后对每一个桶内的数据进行排序(桶内排序 ...

  6. 十大经典排序算法(图解与代码)——冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序(Python and Java)

    排序 重新排列表中的元素,使表中的元素按照关键字递增或者递减 内部排序: 指在排序期间,元素全部存放在内存中的排序 外部排序: 指在排序期间元素无法全部同时存放在内存中,必须在排序的过程中根据要求不断 ...

  7. [数据结构][Python]鸡尾酒排序、桶排序

    鸡尾酒排序: #!/usr/bin/python def _cocktail_sort(the_list):the_len = len(the_list)if the_len <2:#0和1pr ...

  8. 计数排序和桶排序——python和javascript实现

    计数排序 python版 不稳定计数排序 # 不稳定计数排序 def count_sort(arr):max,min = findMaxAndMin(arr)space = max - mincoun ...

  9. Python实现八大排序算法(转载)+ 桶排序(原创)

    插入排序 核心思想 代码实现 希尔排序 核心思想 代码实现 冒泡排序 核心思想 代码实现 快速排序 核心思想 代码实现 直接选择排序 核心思想 代码实现 堆排序 核心思想 代码实现 归并排序 核心思想 ...

  10. 桶排序python实现

    # 桶排序要求:# 有几个输入数据,要求对其进行从小到大或者从大到小进行排序# 思路:# 首先建立需要的桶,然后每个位置初始化,接着将需要处理的数据根据数值在相应位置设置值为这个值出现的次数# 使用字 ...

最新文章

  1. 主动学习综述(ACTIVE LEARNING)
  2. es6箭头函数this问题
  3. 用掘金-Markdown 官方语法总结大全
  4. CentOS7 Tomcat安装
  5. sentinel里的双检锁
  6. Windows下 VS2015编译boost1.62
  7. :nth-child(n)与:nth-of-type(n)为啥显示不对呢
  8. 背景图处理,这是个好东西记录一下
  9. linux 内核 睡眠,linux内核对S3C2410睡眠模式的支持有哪些?
  10. idea package放在什么位置_NBA现役球员大排名,你会把20岁的东契奇放在什么位置?...
  11. PHP Mysql-创建数据库
  12. SpringBoot+Vue项目校园运动会管理系统
  13. web攻击:XSS跨站脚本
  14. 实验: 写一个.msstyles皮肤测试程序
  15. 袋鼠云数据中台专栏(五):数栈,企业级一站式数据中台PaaS
  16. 为什么ASIC的频率可以达到GHz,而FPGA只能达到几百MHz?
  17. TIC12400相关配置-笔记
  18. 最新国家级贫困县名单
  19. 浅析IT运维监控技术
  20. linux shell 基本命令大全,常用的Linux shell命令详解收集整理

热门文章

  1. 深究AngularJS——AngularJS中的Controller(控制器)
  2. python决策树算法代码_Python3.0 实现决策树算法的流程
  3. 专用人格计算机测验题目,《应征入伍公民体格检查心理检测标准(暂行)》
  4. python3基础题目,Python3.x 基础练习题100例(91-100)
  5. java解码base64的png图片_使用PHP对图片进行base64编码和解码(png、jpg,声音、视频)...
  6. qt 制作记事本_23.QT记事本
  7. 如何用RHEL System Role把Postfix安装和配置自动化?
  8. 阿里 Midway 正式发布 Serverless v1.0,研发提效 50%
  9. containerd 与安全沙箱的 Kubernetes 初体验
  10. shell调用python函数 参数 返回_Python之系统shell交互(subprocess)