python计数排序法是什么
- 更新时间:2021-06-30 09:30:40
- 编辑:尹宏浚
为网友们分享了相关的编程文章,网友冷阳伯根据主题投稿了本篇教程内容,涉及到Python相关内容,已被167网友关注,如果对知识点想更进一步了解可以在下方电子资料中获取。
参考资料
- Odoo快速入门与实战:Python开发ERP指南 PDF 电子书 / 21 MB / 刘金亮 推荐度:
- 《机器学习:使用OpenCV和Python进行智能图像处理》代码 配套资源 / 1.58 MB / 迈克尔·贝耶勒 推荐度:
- 零起点Python大数据与量化交易 PDF 电子书 / 21.6 MB / 何海群 推荐度:
- Python参考手册 PDF 电子书 / 102.2 MB / 大卫 M.比兹利(David M.Bea 推荐度:
- Python黑客攻防入门 PDF 电子书 / 63.1 MB / 赵诚文 推荐度:
正文内容
给学习python的读者整理一篇《python计数排序法是什么》优秀文章,感觉很有用处,把程序员重写的代码发布到这里,觉得好就请收藏下。
1、概念
计数排序的主要思想是将待排序数据值转化为键,存储在额外开辟的数组空间中。
计数排序要求输入的数据必须是有确定范围的整数,因此计数排序法适用于量大范围小的数据。
2、实例
def count_sort(data, maxValue): # 定义计数排序,data是列表数据,maxValue表示最大值 bucket_len = maxValue + 1 # 定义桶的长度是最大值加1,桶号从0开始 bucket = [0] * bucket_len # 初始化桶 count = 0 # 计数个数 arr_len = len(data) # 列表长度 for i in range(arr_len): # 遍历列表 if not bucket[data[i]]: # 列表数据不为桶号 bucket[data[i]] = 0 # 这时初始化从0将列表数据做桶号 bucket[data[i]] += 1 # 桶号依次加1 for j in range(bucket_len): # 遍历桶 while bucket[j] > 0: # 将列表数据放在对应桶号内 data[count] = j count += 1 # 计数个数加1 bucket[j] -= 1 # 个数减一,下一个相同的元素往前排 return data # 返回排序后的列表 data = [1, 2, 4, 1, 3, 5, 2, 2, 7, 3, 4] print("排序前列表数据:") for i in range(11): print("%2d" % data[i], end="") print() data2 = count_sort(data, 7) # 调用计数排序函数 print("排序后列表数据:") for j in range(11): print("%2d" % data2[j], end="")
以上就是python计数排序法的介绍,希望对大家有所帮助。
相关教程
-
教女朋友学Python(一)运行环境搭建[原创]
这篇文章主要介绍了教女朋友学Python(一)运行环境搭建,具有一定借鉴价值,需要的朋友可以参考下。
发布时间:2019-08-26
-
python中time模块需要安装么
不需要安装。time是python自带的模块,用于处理时间问题,提供了一系列的操作时间的函数。时间戳,是以秒表示从“新纪元”到现在的时间,称为UTC或者GMT。struct_time时间元组,format time 格式
发布时间:2019-06-26