Ортогональный поиск — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Простейший случай)
Строка 16: Строка 16:
 
== Квадро дерево ==
 
== Квадро дерево ==
  
== Инкрементальное квадо дерево ==
+
== Инкрементальное квадро дерево ==

Версия 21:52, 23 апреля 2012

Простейший случай

Пусть дана прямая с точками на ней и отрезок. Необходимо указать, какие из изначальных точек лежат на этом отрезке.

Данная задача решается с помощью функций из STL - upper_bound и lower_bound

Код реализации:

template<class RauIter, class OutIter, class Scalar> OutIter range_search(RauIter p, RauIter q, OutIter out)
{
   return std::copy(lower_bound(p, q, l), upper_bound(p, q, r), out);
}

Сбалансированное дерево поиска

Квадро дерево

Инкрементальное квадро дерево