关于计数排序
来源:互联网 发布:versions for mac闪退 编辑:程序博客网 时间:2024/06/06 16:25
待排序序列:A[n]
排序后的数组:B[n]
记录A中某个数据在表B中的位置:count[n](存的是值为比该数据小的数据的个数)
计数排序算法针对待排序数组中的每个记录,扫描待排序的数组一趟,统计待排序数组中有多少个记录的值比该记录的值小。假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序数组中的合适的存放位置即为c。
这样可以看到,每个数据都需要和自己之后的数据进行比较,一直扫到待排数组的尾部,可以得到数组count[n]。这个过程的时间复杂度为o(n^2)
得到count之后的操作为:B[count[i]]=A[i],扫描一遍A数组,得到的B即为排序后的数组。
这个过程的时间复杂度为:o(n).
整个过程的时间复杂度应该为o(N^2).
计数过程的时间复杂度高于计数之后的排序过程。
为什么有说计数排序是线性的说法?计数不花时间了?没理由。
- 关于计数排序
- 关于计数排序的思考
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 计数排序
- 想要VB程序变得更流畅完美吗?看看吧!
- Android中AsyncTask的简单用法
- 算法_sort
- Android中的Toast的标准格式和自定义格式
- HTTP响应CODE状态码
- 关于计数排序
- csu 1244 简单计算
- strust2 标签的使用
- object类实现了哪些方法(一定要记住!!!)
- 数据流定向
- Bash 高级编程指南的阅读
- hibernate多对一关联关系的映射与原理分析
- 在websphere上一个J2EE应用中引用多个数据源JNDI的方法
- 【Linux 驱动】第九章 与硬件通信