作者JFD (D)
看板puzzle
标题Re: [问题] 请问取中间值所需的比较次数
时间Tue Dec 22 17:58:42 2009
补充一下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个吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.96.112.162
※ 编辑: JFD 来自: 140.96.112.162 (12/22 17:59)
※ 编辑: JFD 来自: 140.96.112.162 (12/22 18:09)
※ 编辑: JFD 来自: 140.96.112.162 (12/22 18:16)
※ 编辑: JFD 来自: 140.96.112.162 (12/22 18:22)
1F:推 puzzlez:哦~我懂之前错在哪了:-) 12/22 18:30