python计数排序法是什么
概念
1、计数排序的主要思想是将待排序数据值转化为键,存储在额外开辟的数组空间中。
2、计数排序要求输入的数据必须是有确定范围的整数,因此计数排序法适用于量大范围小的数据。
实例
defcount_sort(data,maxValue):#定义计数排序,data是列表数据,maxValue表示值 bucket_len=maxValue+1#定义桶的长度是值加1,桶号从0开始 bucket=[0]*bucket_len#初始化桶 count=0#计数个数 arr_len=len(data)#列表长度 foriinrange(arr_len):#遍历列表 ifnotbucket[data[i]]:#列表数据不为桶号 bucket[data[i]]=0#这时初始化从0将列表数据做桶号 bucket[data[i]]+=1#桶号依次加1 forjinrange(bucket_len):#遍历桶 whilebucket[j]>0:#将列表数据放在对应桶号内 data[count]=j count+=1#计数个数加1 bucket[j]-=1#个数减一,下一个相同的元素往前排 returndata#返回排序后的列表 data=[1,2,4,1,3,5,2,2,7,3,4] print("排序前列表数据:") foriinrange(11): print("%2d"%data[i],end="") print() data2=count_sort(data,7)#调用计数排序函数 print("排序后列表数据:") forjinrange(11): print("%2d"%data2[j],end="")
以上就是python计数排序法的介绍,希望对大家有所帮助。更多python学习指路:python基础教程
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。