内容
给定数组A[0…n-1],试设计一个算法,在最坏情况下用n+logn次比较找出A[0…n-1]中元素的最大值和次大值。
基本思想
- 用分治法求最大值和次大值首先将问题划分,即将划分成长度相等的两个序列,
- 递归求出左边的最大值次大值,再求出右边的的最大值次大值,比较左右两边,最后得出问题的解。
- 时间复杂度为n+logn次
代码
#include<stdio.h>
void Search(int a[],int *pmax,int *psecond,int left,int right);
int main()
{
int pmax,psecond,left=0,right=9,i;
int a[10]={
12</