编程之美 set 5 寻找数组中最大值和最小值
解法
1. 设置 min, max 两个变量, 然后遍历一遍数组, 比较次数为 2*N
2. 依然设置 min, max 两个变量并遍历数组, 但将遍历的 step 设置为 2, 比较次数为 1.5 * N
3. 改变数组的做法. 先排个序
使得 min 总是在偶数位置, max 总在奇数位置, 比较次数依然是 1.5*N
4. 分值算法, 实际上就是归并算法的变形
实现较为复杂, 但事件复杂度依然为 1.5N
解法
1. 设置 min, max 两个变量, 然后遍历一遍数组, 比较次数为 2*N
2. 依然设置 min, max 两个变量并遍历数组, 但将遍历的 step 设置为 2, 比较次数为 1.5 * N
3. 改变数组的做法. 先排个序
使得 min 总是在偶数位置, max 总在奇数位置, 比较次数依然是 1.5*N
4. 分值算法, 实际上就是归并算法的变形
实现较为复杂, 但事件复杂度依然为 1.5N