设计一个最优算法来同时找到n元素数组中的最大值和最小值,要求使用最小的比较次数:
算法导论(3th Edition)9.1:
https://blog.csdn.net/shuiziliu1025/article/details/50958190
1.5N即可
应用:选择排序中,可以一下从剩下元素中选出Min Max,放在已经排好序的数组的首尾(虽然真正投入应用都是随机选择排序)
PS:对于已经基本有序的数据(如文件等等),一定不要使用快速排序,就算随机快排也不要使用(因为最多只能达到平均性能o(nlogn)),使用传统的插入排序是最好的,性能接近O(n)。