Python3 notes

简介: Python3 notes

Python 计数排序


计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范围的整数。

实例

def countSort(arr):  

 

   output = [0 for i in range(256)]  

 

   count = [0 for i in range(256)]  

 

   ans = ["" for _ in arr]  

 

   for i in arr:  

       count[ord(i)] += 1

 

   for i in range(256):  

       count[i] += count[i-1]  

 

   for i in range(len(arr)):  

       output[count[ord(arr[i])]-1] = arr[i]  

       count[ord(arr[i])] -= 1

 

   for i in range(len(arr)):  

       ans[i] = output[i]  

   return ans  

 

arr = "wwwrunoobcom"

ans = countSort(arr)  

print ( "字符数组排序 %s"  %("".join(ans)) )

执行以上代码输出结果为:

符数组排序 bcmnoooruwww

相关文章
|
8月前
|
Python
Python代码扫描目录下的文件并获取路径
【5月更文挑战第12天】Python代码扫描目录下的文件并获取路径
148 1
|
8月前
|
Unix API Python
Python3 notes
Python3 notes
|
7月前
|
存储 分布式计算 并行计算
【大数据】计算引擎:Spark核心概念
【大数据】计算引擎:Spark核心概念
131 0
|
8月前
|
存储 机器学习/深度学习 算法
【C/C++ 查找算法】深入探索数据查找算法:原理、数学模型与C/C++实现
【C/C++ 查找算法】深入探索数据查找算法:原理、数学模型与C/C++实现
186 0
|
JavaScript Java 数据库
企业微信接入系列-扫码绑定/登录
讲述在企业后台管理平台账号绑定企业微信以及企业微信扫码登录企业管理平台
企业微信接入系列-扫码绑定/登录
|
8月前
|
NoSQL 算法 安全
【Redis】Redis配置文件详解
【1月更文挑战第18天】【Redis】Redis配置文件详解
|
Python
Python:如何基于滑动窗口进行气候因子间的相关系数分析?(逐像元)
Python:如何基于滑动窗口进行气候因子间的相关系数分析?(逐像元)
439 1
|
人工智能 自然语言处理 开发工具
免费部署一个开源大模型 MOSS
近日复旦大学自然语言处理实验室邱锡鹏教授团队研发的大语言模型 MOSS 也已公开发布并开源。MOSS 的公开发布无疑加剧了国内 ChatGPT 式产品的竞争。
1605 1
|
安全 算法 Java
[超长文,谨入]一文解决面试、工作遇到的安全性问题
安全问题其实是很多程序员容易忽略的问题但需要我们重视起来,提高应用程序的安全性。常出现的安全问题包括,程序接受数据可能来源于未经验证的用户,网络连接和其他不受信任的来源,如果未对程序接受数据进行校验,则可能会引发安全问题等等
372 0
[超长文,谨入]一文解决面试、工作遇到的安全性问题
|
开发工具 Android开发 C++
xilinxSDK使用总结
xilinxSDK使用总结