![]() |
Добро пожаловать, гость ( Вход | Регистрация )
![]() |
alan |
![]()
Сообщение
#1
|
![]() zzz... ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Braingames Сообщений: 13 545 Регистрация: 23.2.2009 Из: Симферополь Пользователь №: 13 114 ![]() |
Представьте, что у вас есть множество А из M точек на плоскости (x_i,y_i). Есть информация о них - по две координаты.
Потом нам дают еще одну точку - B(b_x,b_y). Нужно найти: а) Точку из множества А ближайшую к B. б) N ближайших точек к B. в) Все точки на растоянии меньше чем R от B Задача - оптимально организовать информацию о точках А. Оптимальность определяется средней скоростью выполнения а), б) или в). |
![]() ![]() |
alan |
![]()
Сообщение
#2
|
![]() zzz... ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Braingames Сообщений: 13 545 Регистрация: 23.2.2009 Из: Симферополь Пользователь №: 13 114 ![]() |
Ну давай забудем лучше о памяти, а то если все помнить и учитывать останемся с носом.
Итак главное скорость. Я так понял, что для поиска ближайшей точки ты предлагаешь проследовать от верха дерева к низу? Итого порядка log(N) операций? Если разбить на одинаковые квадратики, то мы сможем сразу получить номер квадрата имея координаты точки В. Если везет то ближайшая точка получается за 1 операцию. Мне вот только не ясно, что будет если не везет... |
![]() ![]() |
![]() |
Упрощённая версия | Сейчас: 4.7.2025, 18:01 |