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)