|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij M. Baldin 2:5020/400 09 Aug 2002 08:22:17 To : Anatoly Svishev Subject : Re: Соpтиpовка комплексных чисел? -------------------------------------------------------------------------------- Добрый день Anatoly Svishev <Anatoly.Svishev@p39.f55.n5061.z2.fidonet.org> wrote: >>>> Есть (a,b) >>>> Hадо найти такое 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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/884367e750c3.html, оценка из 5, голосов 10
|