9 1最大最小值

2021-08-09 09:46:40 字數 894 閱讀 6918

問1:得到最大或最小的話,比較次數?

n-1

問2:同時的到最大最小,比較次數?

奇數:3

⌊n/2⌋

偶數:1+3(n-2)/2

附上**:

public static void main(string args) ;

system.out.println(minmax(a));

} //同時取最大最小

public static string minmax(int a)

if(min2 < min)

} if(a.length%2==1)

if(a[a.length-1]

問3:求乙個陣列最小和第二小的演算法,最壞情況下,比較次數為n+⌈lgn⌉-2

public class minmax ;

static int map = new int[a.length][a.length];

static int minindex = 0;

static int minindex2 = 0;

public static void main(string args)

public static void findmin1(int index,int bucketindex);

for(int i=1;i<=a.length;i++)

}static int minwhich(int a,int p,int r,int i)

int k = randomselect(a, p, r);//

int index = k-p+1;//子陣列中的排名

if(i==index)else if( i

最大最小值

示例一 maximum lambda x,y x y x x y y 注意 x y 返回的是0或者1 minimum lambda x,y x y y x y x a 10 b 20 print the largar one is d maximum a,b print the lower one ...

最大值 最小值

求最大最小的時候有點小技巧,就是我們兩個兩個的比較,把大個跟當前最大比較,小的跟當前最小的比較,這樣就會節約一點比較時間,有原來的2 n到3 n 2。include include 得到最大最小值 int getmaxmin int ndata,int nlen,int pnmax,int pnmi...

最大最小值演算法

inputiterator min element inputiterator beg,inputiterator end inputiterator min element inputiterator beg,inputiterator end,compfunc op inputiterator ...