排序和查找, 二分查找,归并排序,快速排序
递归和循环
位运算:与、或、异或、左移、右移
2.4.1 查找和排序
小提示:如果面试题是要求在排序的数组(或者部分排序的数组)中查找一个数组或者统计某个数字出现的次数,
我们都可以尝试用二分查找。
哈希表、二叉树查找 重点在于考察数据结构 而不是算法。
哈希表优点是能够在O(1)时间找到某一元素,效率最高,缺点是需要额外的空间;
比较插入排序、冒泡排序、归并排序、
快速排序的优劣(从额外空间消耗、平均时间复杂度、最差时间复杂度几个方面考虑)
实现快排的关键:现在数组中选择一个数字,接下来吧数组中的数字分为两部分,被选择的数字小的数字移到数组的左边,
比选择的数字大的数字移到数组的右边。
请实现一个排序算法,要求时间效率O(n).
公司所有员工的年龄,共有几万名员工,年龄范围在0~99,允许使用常量辅助空间
以长度100的整数数组作为辅助空间,换来了O(N)的时间效率