时间复杂度为O(n)的排序
来源:互联网 发布:淘宝审核原图的标准 编辑:程序博客网 时间:2024/04/28 07:58
对数组a进行排序,要求时间复杂度为O(N)
以空间换时间,新建一个数组b,这里假设arr中最大的数字不超过100,b数组全部初始化为0;
例如arr中有数据12,则在b中对应的下标位置+1
void SortN(int* arr, int n){ const int N = 100; int b[N] = { 0 }; for (int i = 0; i <= n; ++i) { int tmp = arr[i]; ++b[tmp]; } int index = 0; for (int i = 0; i < N; ++i) { for (int j = 0; j < b[i]; ++j) { arr[index] = i; ++index; } }}
阅读全文
0 0
- 时间复杂度为O(n)的排序
- 时间复杂度为O(n)的排序
- 时间复杂度为O(n+t)的排序
- 时间复杂度为O(n)的排序算法
- 时间复杂度为O(n)的排序算法--计数算法
- 面试9:时间复杂度为O(n)的排序算法
- 基于时间复杂度为O(n)的排序算法
- 排序的时间复杂度为O(n),空间复杂度为O(1)
- 时间复杂度为O(N),空间复杂度为O(1)的排序算法
- 时间复杂度O(n),空间复杂度O(1)的排序
- 1~n无序数组时间复杂度为O(n)排序
- 1~n无序数组时间复杂度为O(n)排序
- 复杂度为o(n)的计数排序
- 不用额外空间的整数交换以及时间复杂度为O(n)空间复杂度为O(1)的排序算法
- 归并排序、快速排序---时间复杂度为O(nlog n)的排序方式
- 【排序】时间复杂度为O(N^2)的排序——冒泡、选择和插入排序
- 快速排序时间复杂度为O(n×log(n))的证明
- Java练习:时间复杂度为O(n*n)的三大基本排序算法
- ZCMU 1721: on xh kd lh (凯撒密码,水)
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver问题
- 字符序列反转的几种算法
- 51nod 1278 相离的圆
- Python机器学习及实践——简介篇3(结合例子)
- 时间复杂度为O(n)的排序
- java swing 提示框
- Linux-c 线程总结
- HDOJ 1004 Let the Balloon Rise(字符串)
- HDU
- canvas(4)
- 关于Java对象引用的理解
- mysql5.7 修改root密码无法登陆原因
- Trees in a Wood. UVA