題目:有一個小白程序員,寫了一個只能對5個數字進行排序的函數,現在有25個不重複的數字,請問小白同學最少調用幾次該函數,可以找出其中最大的三個數?
A.5
B.6
C.7
D.8
答案:C
解析:第一步:25人分爲5組調用,分別排序,調用5次
第二步:取出5組中的最大數,排序,調用1次
第三步:將第二步排序中最大的三組取出,假設爲A,B,C,從第二步已知A[1]>B[1]>C[1],不需要再比較,選A[2]、A[3]、B[1]、B[2]、C[1]比較。不需要比較B[3]是因爲A[1]已經最大了,若剩下兩個數在B中,A[1]佔一個,只剩兩個位置,C[1]同理。調用1次
所以,總共需要調用:5+1+1=7次