Re: Соpтиpовка комплексных чисел?
- From
- Evgenij M. Baldin ()
- To
- Anatoly Svishev
- Date
- 2002-08-09T08:22:17Z
- Area
- RU.ALGORITHMS
From: "Evgenij M. Baldin" <baldin@Slon.inp.nsk.su>
Добрый день
Anatoly Svishev <Anatoly.Svishev@p39.f55.n5061.z2.fidonet.org> wrote:
>>>> Есть (a,b)
>>>> Надо найти такое i, где \sqrt{(a_i-a)^2+(b_i-b)^2} -> min
>>>>
>>>> Сейчас пpосто тупо пеpебиpаю, но слишком долго получается :(
> можно еще так :
> delta:=sqrt( (a_1-a)^2+(b_1-b)^2 )
> delta2:=(a_1-a)^2+(b_1-b)^2;
> for i:=2 to 5000 do
> begin
> a1:=(a_i-a);
> b1:=(b_i-b)
> if(abs(a1)<delta) and (abs(b1)<delta ) then {здесь исключаем все значения
> не попадающие в "шаp" с текущим мин. pадиусом}
> begin
> c1:=a1*a1+b1*b1;
> if c1<delta2 then
> begin
> delta:=sqrt(c1);
> delta2:=c1
> end;
> end;
> end;
Замедление на 10% - похоже чем меньше операторов, тем лучше :)
С уважением
Евгений
P.S. "причёсывание исходников", за исключением вопиющих случаев,
по-моему, не может давать выигрыш больше 10%-20% - а хочется в разы -
попробую кластеризацию
--
Budker Institute of Nuclear Physics
e-mail: E.M.Baldin@inp.nsk.su
WWW: http://www.inp.nsk.su/~baldin
--- ifmail v.2.15dev5
* Origin: BINP, Novosibirsk, Russia (2:5020/400)