一个时间效率为O(n)的排序算法(Java实现)
来源:互联网 发布:mysql 历史sql语句 编辑:程序博客网 时间:2024/06/05 15:45
题目:请实现一个排序算法,要求时间效率为O(n).(允许使用常量大小的辅助空间不得超过O(n))
该题来自于剑指offer,用空间来换时间效率
package cn.stack.queue;//该方法用长度为100的整数数组作为辅助空间换来了O(N)的时间效率public class Demo3 {public void sortAge(int[] ages) {int length = ages.length;int oldestAge = 99;// 建立一个数组,用来存储每个年龄员工的数量int[] timesOfAge = new int[oldestAge + 1];// 初始化for (int i = 0; i <= 99; i++) {timesOfAge[i] = 0;}// 循环统计int age = 0;for (int i = 0; i < length; i++) {age = ages[i];if (age > 99 || age < 0) {System.out.println("年龄输入有误");return;}timesOfAge[age]++;}//进行排序,结果存储在ages数组中int index = 0;for (int i = 0; i <= oldestAge; i++) {for (int j = 0; j < timesOfAge[i]; j++) {ages[index] = i;++index;}}}}
0 0
- 一个时间效率为O(n)的排序算法(Java实现)
- 实现一个时间效率为O(N)的排序算法
- 一个时间效率为n的排序算法
- 一个时间复杂度为O(n),空间复杂度为O(1)的排序算法
- 号称效率为O(n)的排序算法-----计数排序
- 转载 一个时间复杂度为O(N)的算法
- 时间效率为O(n)的特殊排序算法-剑指offer
- 某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间
- java的BitSet实现位排序算法,复杂度为O(n)
- 时间效率O(N)的排序
- 公司员工年龄的排序,时间效率为O(n)
- Java练习:时间复杂度为O(n*n)的三大基本排序算法
- 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。
- 实现排序算法,时间复杂度为O(n)
- 时间复杂度为O(n)的排序算法--计数算法
- 基于堆栈的时间复杂度为O(n)的箱子排序算法实现
- 八大排序算法JAVA实现(时间复杂度O(n-n)篇)
- 长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为X的元素
- [emerg] unknown directive 'fastcgi_inidex' in /etc/nginx/sites-enabled/default:83
- 输入正整数n(n>=2),求不大于n的全部质数(素数)
- mysql分组,取每组前几条记录
- mysql语句汇集
- 怎样快捷键调整浏览器页面的大小
- 一个时间效率为O(n)的排序算法(Java实现)
- Lua的面向对象设计1
- QT一键远程调试程序
- 解决Button自动刷新页面的问题
- C语言各类型在x86与x64环境下的长度
- rtmp 常用字段含义
- [JZOJ5056]黑白广场
- android 三种notification 的简单使用
- 2017gmic北京移动互联网大会最新活动优惠,只有这里可以独享5折(又有惊喜!)