剑指offer 2.4 在O(n)时间排序公司所有员工的年龄
2014-08-10 11:34
302 查看
排序和查找, 二分查找,归并排序,快速排序
递归和循环
位运算:与、或、异或、左移、右移
2.4.1 查找和排序
小提示:如果面试题是要求在排序的数组(或者部分排序的数组)中查找一个数组或者统计某个数字出现的次数,我们都可以尝试用二分查找。
哈希表、二叉树查找 重点在于考察数据结构 而不是算法。
哈希表优点是能够在O(1)时间找到某一元素,效率最高,缺点是需要额外的空间;
比较插入排序、冒泡排序、归并排序、快速排序的优劣(从额外空间消耗、平均时间复杂度、最差时间复杂度几个方面考虑)
实现快排的关键:现在数组中选择一个数字,接下来吧数组中的数字分为两部分,被选择的数字小的数字移到数组的左边,
比选择的数字大的数字移到数组的右边。
请实现一个排序算法,要求时间效率O(n).
公司所有员工的年龄,共有几万名员工,年龄范围在0~99,允许使用常量辅助空间
![](file:///C:/Users/Administrator/AppData/Local/YNote/Data/zccc@mail.ustc.edu.cn/0a38ce1b2e7f450bba2815b3a68ad03b/clipboard.png)
以长度100的整数数组作为辅助空间,换来了O(N)的时间效率
递归和循环
位运算:与、或、异或、左移、右移
2.4.1 查找和排序
小提示:如果面试题是要求在排序的数组(或者部分排序的数组)中查找一个数组或者统计某个数字出现的次数,我们都可以尝试用二分查找。
哈希表、二叉树查找 重点在于考察数据结构 而不是算法。
哈希表优点是能够在O(1)时间找到某一元素,效率最高,缺点是需要额外的空间;
比较插入排序、冒泡排序、归并排序、快速排序的优劣(从额外空间消耗、平均时间复杂度、最差时间复杂度几个方面考虑)
实现快排的关键:现在数组中选择一个数字,接下来吧数组中的数字分为两部分,被选择的数字小的数字移到数组的左边,
比选择的数字大的数字移到数组的右边。
请实现一个排序算法,要求时间效率O(n).
公司所有员工的年龄,共有几万名员工,年龄范围在0~99,允许使用常量辅助空间
![](file:///C:/Users/Administrator/AppData/Local/YNote/Data/zccc@mail.ustc.edu.cn/0a38ce1b2e7f450bba2815b3a68ad03b/clipboard.png)
以长度100的整数数组作为辅助空间,换来了O(N)的时间效率
相关文章推荐
- 【剑指 offer】—— 为公司员工的年龄排序
- 算法题目---求公司内员工的年龄排序---用空间换取时间O(n)
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 实现一个算法,对公司员工年龄进行排序,时间效率要求O(n)
- 【剑指offer】员工年龄排序
- Java实现对公司所有员工的年龄排序
- 剑指offer-公司员工的年龄
- 【剑指offer】员工年龄排序
- 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。
- 某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间
- 【剑指offer】员工年龄排序
- 对公司所有员工的年龄排序
- 公司员工年龄的排序,时间效率为O(n)
- 【剑指offer】(扩展)员工年龄排序
- 对公司所有员工的年龄排序
- 九度0J 1374 所有员工年龄排序
- 九度0J 1374 所有员工年龄排序
- 剑指Offer面试题8旋转数组的最小数字(二分查找)附带快排和按年龄排序
- oracle 查询在2010/1/1入职的所有男员工并按年龄排序
- 对公司员工年龄进行排序,java实现