/ / У найближчій парі точок ділять іпідкорити алгоритм, яке значення має сортування «смуги» значеннями очок y? - алгоритм, рекурсія, координати, ділити-і-підкорювати, найближчі точки

У найближчій парі точок ділять і перемагаютьАлгоритм, у чому полягає значення сортування "смуги" за значеннями точок y? - алгоритм, рекурсія, координати, розділити і перемогти, найближчі точки

Я вважаю, що я розумію алгоритмчітко, крім кроку, на якому ви дивитеся, щоб побачити, чи є будь-які точки, які знаходяться поруч, переглядаючи розділ і створюючи смугу, де точки в смузі є кандидатами.

Але потім алгоритм стверджує, щоб відсортувати точкиза їх координатами y, а потім перевіряйте кожну іншу точку смуги, щоб знайти, якщо є менша відстань, ніж знайдена раніше. Це в основному звучить, як ви грубої сили в смузі.

Наприклад, ось що Введення в алгоритми стверджує:

введіть опис зображення тут

Так, здається, ви просто берете кожну точку і порівнюєтеце проти всіх інших знайти найближчі точки? Чому тоді необхідно сортувати за значенням y? Ви вже відсортували їх по x, чому б не грубість?

Відповіді:

1 для відповіді № 1

Ви не порівнюєте грубу силу з усіма точками в Y" але тільки проти одного поруч p. Якщо це вже дуже далеко, то можнапросто зупиніться, тому що всі інші точки будуть ще далі. Ви продовжуєте оцінювати наступного найближчого сусіда, якщо останній все ще перебував у межах відстані пошуку.

Текст пояснює його в Як ми побачимо найближчим часом розділ

Сортування - це оптимізація, яка дає змогу перейти до найближчих сусідів O(1) після сплати витрат на сортування O(n log n) один раз