算法导论笔记——计数排序
来源:互联网 发布:航天信息开票软件下载 编辑:程序博客网 时间:2024/05/17 05:47
计数排序
是比快速排序还快的排序算法
冒泡排序,快速排序,归并排序等算法都是基于比较的算法,数学可以证明,这些算法的速度极限是O(lgn)
而计数排序的速度为O(n+k)
#A待排序数组,k数组中最大值def countingSort(A,k): #k是数组中的最大值 C = [] #B将作为装再排序后的数组 B = [] k = k+1 #初始化C,他将作为“表”使用 for i in range(0,k): C.append(0) # 在C中统计每个数的出现次数,顺便初始化一下B for a in A: C[a]+=1 B.append(0) #根据次数计算出现位置,你会发现最后一个数正好等于总数 for i in range(1,k): C[i]+=C[i-1] #接下来就是精髓: #A的值做为C的下标直接得到排序后的位置赋值给B for j in reversed(A):#倒序遍历 B[C[j]-1] = j C[j]-=1 return B
第一次发博客,希望大家提宝贵意见
0 0
- 算法导论笔记——计数排序
- 算法导论—计数排序
- 算法导论学习笔记——计数排序算法
- 计数排序—《算法导论》学习笔记之五
- 算法导论例程——计数排序
- 算法导论第八章—计数排序
- 算法导论_计数排序学习笔记
- 算法导论笔记(四) : 计数排序
- 计数排序-《算法导论》学习笔记八
- 【算法导论-学习笔记】以线性时间增长的排序——计数排序
- [算法导论读书笔记]线性时间排序——计数排序
- 算法导论 计数排序
- 【算法导论】计数排序
- 【算法导论】计数排序
- 算法导论 计数排序
- 计数排序----算法导论
- 算法导论 计数排序
- [算法导论]计数排序
- LInkedList源码分析
- 制作Win&kali Linux双系统
- 工作一年的状态与总结
- WebRTC中的前向纠错编码 - Red Packet
- ZOJ - 3820 Building Fire Stations
- 算法导论笔记——计数排序
- Javascript进度条
- 从编译器的角度分析继承中的虚函数
- Java异常处理学习
- OpenCV-Python在线参考手册
- GitHub上使用Hexo搭建博客
- hud 1166 敌兵布阵
- Android仿微博/QQ空间滑动自动播放视频功能
- PHP学习之路(一)——PHP的软件配置