编程之美 set 5 寻找数组中最大值和最小值

解法

1. 设置 min, max 两个变量, 然后遍历一遍数组, 比较次数为 2*N

2. 依然设置 min, max 两个变量并遍历数组, 但将遍历的 step 设置为 2, 比较次数为 1.5 * N

3. 改变数组的做法. 先排个序

使得 min 总是在偶数位置, max 总在奇数位置, 比较次数依然是 1.5*N

4. 分值算法, 实际上就是归并算法的变形

实现较为复杂, 但事件复杂度依然为 1.5N

posted @ 2014-02-24 17:30  SangS  阅读(622)  评论(0编辑  收藏  举报