Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Sergey Andrianov                     2:5020/1507.400 10 Aug 2002  00:14:20
 To : Alexandr A. Redchuck
 Subject : Re: Сортировка    комплексных    чисел?
 -------------------------------------------------------------------------------- 
 
 
 Однажды 08-Aug-02  в 23:15   Alexandr A. Redchuck (via gate)
 написал       "Evgenij M. Baldin"    по поводу
 -=-   Re: Сортировка    комплексных    чисел?  -=-
 EB>> У меня есть наборы пар чисел (4 набора по 20-50 тыс после
 EB>> предварительного отбора), получаемых совершенно случайным образом.
 AAR>  Я так надеюсь, опроный массив ("матрица коррекции") меняется гораздо
 AAR> реже массива сырых данных...
 
 AAR>  Тогда я попробовал бы так: "опорный" набор режем на квадраты,
 AAR> штук так на 200. Получаем толпу структур вида
 
 AAR> * x0, x1, y0, y1; - координаты границ
 AAR> * массив опорных точек, находящихся в пределах x0-dx, x1+dx, y0-dy,
 AAR>   y1+dy, где dx, dy - полуширина перекрытий.
 AAR>   т.е. часть опорных точек попадет в 2 или 4 массива (обязательно
 AAR>   нужно!).
 
        Hе нужно (см. ниже)
 
 AAR> В зависимости от размера перекрытий в каждый массив попадет по
 AAR> 200-500 пар.
 
 AAR> Взяв очередную "сырую" пару сначала проверяем в какой квадрат она
 AAR> попала, потом проверяем расстояния до точек в соответствующему этому
 AAR> квадрату массиве (а вот тут и перекрытия понадобились, иначе оказалось
 AAR> бы, что для точки на краю квадрата "истинно" ближайшая может оказаться в
 AAR> другом квадрате).
 
    Правильно, но после того, как нашли ближайшую точку в своем квадрате
 (повторяю, квадраты без перекрытий), сравниваем расстояние до нее с расстояниями
 до сторон и углов квадрата (несколько раз можно взять и корень). По результатам 
 сравнения в список проверяемых может добавиться до 3-х дополнительных квадратов 
 (при условии, что в каждом квадрате имеется минимум одна точка. Если это условие
 слишком сильное, организуем очередь из квадратов - кандидатов на рассмотрение,
 пока не найдем искомую точку.
 
 AAR> Итого для каждой входной точки имеем максимум 200*4=800 сравнений чисел
 AAR> на больше/меньше (попадание в квадрат) и вычисление расстояний (в смысле,
 AAR> квадратов расстояний, как тут уже тебе напомнили :-) максимум для
 AAR> 200-500 пар, т.е. ускорение на 2 порядка.
 AAR> Правда, ценой увеличения, может даже раза в 2-3, объема памяти,
 AAR> занимаемого опорными данными (из-за перекрытий), но даже
 AAR> 1M*sizeof(double) по нынешним временам немного :-)
 самом деле, в подавляющем числе случаев просмотр будет ораничиваться
 только текущей ячейкой (200 шт) и дополнительный расход памяти - только на
 организацию списков, избыточности представления точек не требуется.
 
 AAR> wbr,
 AAR> p.s. возможно, имеет смысл сделать 3-уровневую пирамиду -
 AAR> зоны, содержащие только свои границы и ссылки на квадраты,
 AAR> квадраты, как описано выше.
 AAR> Скажем, 20 зон по 20 квадратов по 100-200 пар. Итого макс.
 AAR> (20+20)*4 = 160 сравнений и макс. 100-200 вычислений расстояний.
 
    А если сетка равномерная, то сравнения вообще не нужны. Впрочем, это -
 мелочь.
 
 AAR> AAR> Hо тут надо внимательно, из-за уменьшения числа пар,
 AAR> относящихся к каждому квадрату, может понадобится увеличить
 AAR> перекрытия.
                   До свидания,  в  00:06 MSK
                                  Sergey
 
 ---
  * Origin: Sergiev Posad (2:5020/1507.400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Сортировка комплексных чисел?   Evgenij M. Baldin   08 Aug 2002 13:26:07 
 Re: Сортировка комплексных чисел?   Vladimir A. Pertzel   08 Aug 2002 15:40:51 
 Re: Сортировка комплексных чисел?   Evgenij M. Baldin   08 Aug 2002 16:35:54 
 Re: Сортировка комплексных чисел?   Andrey Belyaev   08 Aug 2002 17:33:17 
 Re: Сортировка комплексных чисел?   Evgenij M. Baldin   08 Aug 2002 18:26:39 
 Re: Сортировка комплексных чисел?   Oleg I. Khovayko   08 Aug 2002 21:02:29 
 Re: Сортировка комплексных чисел?   Alexandr A. Redchuck   08 Aug 2002 23:15:58 
 Re: Сортировка комплексных чисел?   Sergey Andrianov   10 Aug 2002 00:14:20 
 Re: Сортировка комплексных чисел?   Pertzel Family   09 Aug 2002 01:06:51 
 Re: Сортировка комплексных чисел?   Nick Kovaliov   09 Aug 2002 11:50:17 
 Re: Сортировка комплексных чисел?   Evgenij M. Baldin   09 Aug 2002 13:08:53 
 Re: Сортировка комплексных чисел?   Vladimir A. Pertzel   11 Aug 2002 11:14:40 
 Re: Соpтиpовка комплексных чисел?   Anatoly Svishev   09 Aug 2002 01:03:14 
 Re: Соpтиpовка комплексных чисел?   Evgenij M. Baldin   09 Aug 2002 08:22:17 
 Re: Соpтиpовка комплексных чисел?   Evgenij M. Baldin   09 Aug 2002 08:55:04 
 Re: Сортировка комплексных чисел?   Sergey Andrianov   10 Aug 2002 00:00:40 
Архивное /ru.algorithms/52053D545ADC.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional