Re: Сортировка комплексных чисел?
- From
- Sergey Andrianov (2:5020/1507.400)
- To
- Evgenij M. Baldin
- Date
- 2002-08-10T00:00:40Z
- Area
- RU.ALGORITHMS
Здравствуй, Evgenij!
Однажды 08-Aug-02 в 13:26 Evgenij M. Baldin (via gate)
написал All по поводу
-=- Сортировка комплексных чисел? -=-
EMB> Задача: есть набор пар чисел, есть каким-то образом полученная пара - как
EMB> в имеющемся наборе максимально быстро, кроме банального перебора найти
EMB> ближайшее?
EMB> Есть набор (a_1,b_1)....(a_n,b_n) n порядка 20тыс
EMB> Есть (a,b)
EMB> Надо найти такое i, где \sqrt{(a_i-a)^2+(b_i-b)^2} -> min
EMB> Сейчас просто тупо перебираю, но слишком долго получается :(
Для начала ищи минимум не корня из суммы квадратов, а самой суммы квадратов. В зависимости от компилятора может оказаться полезным заменить a^2 на a*a.
А вообще-то если поиск предполагается делать однократно, то, пожалуй, и все. А если допустимо потратить некоторый ресурс заранее (времени и памяти), а потом искать многократно - то можно придумать массу различных вариантов, например, покрыть область равномерной сеткой (ведь задача аналогична находжению точки на плоскости ближайшей к данной) и для каждой клетки составить списки входящих в нее точек. А потом перебор только по точкам от 1-й до 4-х ячеек.
До свидания, в 23:54 MSK
Sergey
---
* Origin: Sergiev Posad (2:5020/1507.400)