Изменения

Перейти к: навигация, поиск

Ортогональный поиск

5 байт добавлено, 08:04, 7 июня 2012
Одномерный случай
Пусть дана прямая с точками на ней и отрезок. Необходимо указать, какие из точек лежат на этом отрезке.
[[Файл:Line_with_dots_and_segment.png‎]]<br>
Задача тривиальна — нужно оставить только те точки, которые находятся между началом и концом отрезка.
На практике для быстрого осуществления запроса нужно хранить точки в отсортированном массиве и пользоваться двоичным поиском. В C++ данная задача решается с помощью функций из STL - upper_bound и lower_bound.
Алгоритм работает за <tex>O(\log n)</tex>.
 
== Двумерный случай ==
172
правки

Навигация