摘要: 但在很多應(yīng)用中,需同時找到最大值和最小值,一般情況大家較容易想到用上面的算法獨立的找到最大值和最小值,各用n-1次,共有2n-2次比較。這在大容量數(shù)據(jù)庫中(n很大),效率不是很高。
在這里,我將給出一種新的算法代碼,以大幅提高其效率(n很大時)。具體做法是:每次成對的處理數(shù)據(jù),先將一對元素進(jìn)行比較,然后把較大者與當(dāng)前最大值比較,較小者與當(dāng)前最小者比較,因此每兩個元素需要3次比較。具體實現(xiàn)時需考慮n的奇偶,n為奇數(shù),3【n/2】次;n為偶數(shù),3n/2-2次。因此總的比較次數(shù)至多為3【n-2】。(注:【n】表示不大于n的整數(shù))。
閱讀全文
posted @
2012-05-14 12:39 代碼之美 閱讀(6534) |
評論 (2) |
編輯 收藏