請問取中間值所需的比較次數 - 拼圖

Table of Contents

補充一下5個數六次的比較方法

以 a,b,c,d,e 為例

if (a>b) Hb=a, Hs=b;
else Hb=b, Hs=a;

if (c>d) Gb=c, Gs=d;
else Gb=d, Gs=c;

if (Hb>Gb)
{
if(e>Hs) Hb=e;
else Hb=Hs, Hs=e;
}else
{
if(e>Gs) Gb=e;
else Gb=Gs, Gs=e;
}

if (Hb>Gb) median=max(Gb,Hs);
else median=max(Hb,Gs);



※ 引述《JFD (D)》之銘言:
: ※ [本文轉錄自 Prob_Solve 看板]
: 作者: JFD (D) 看板: Prob_Solve
: 標題: [問題] 請問取中間值所需的比較次數
: 時間: Tue Dec 22 13:58:11 2009
: 請問有沒有人知道取中間值所需的最少比較次數是多少次?
: 譬如
: 3個數字取中間值,最少需要三次
: 5個數字,最少需要六次
: 7個數字呢?
: 有理論公式可推到2n+1個嗎?

--

All Comments

Mary avatarMary2009-12-26
哦~我懂之前錯在哪了:-)