Научная литература
booksshare.net -> Добавить материал -> Математика -> Препарата Ф. -> "Вычислительная геометрия: Введение" -> 37

Вычислительная геометрия: Введение - Препарата Ф.

Препарата Ф., Шеймос М. Вычислительная геометрия: Введение. Под редакцией Ю. М. Банковского — М.: Мир, 1989. — 478 c.
ISBN 5-03-001041-6
Скачать (прямая ссылка): vichgeometr.pdf
Предыдущая << 1 .. 31 32 33 34 35 36 < 37 > 38 39 40 41 42 43 .. 180 >> Следующая


') Однако хронологически метод дерева регионов был создан немного ранее методов прямого доступа [Bentley (1979)]. Тем не менее с чисто идейной стороны его можно считать развитием последних методов. Первые идеи, связанные с понятием дерева регионов, можно найти в работе [Bentley, Shamos (1977)].

2.3. Задачи регионального поиска

105

использовано для реализации разбиения произвольного отрезка /], является дерево отрезков, введенное в разд. 1.2.3.1. Повторим просто для удобства читателя, что произвольный отрезок, концы которого принадлежат множеству из N заданных абсцисс, может быть разбит деревом отрезков 7(1, N) на не более 2riog2A/"| — 2 стандартных отрезков. Каждый стандартный отрезок отнесен к одному из узлов 7(1, N), а те узлы, которые определяют разбиение отрезка [i, j], называются узлами отнесения для [i, /].

После такого напоминания не составит труда воспользоваться деревом отрезков при региональном поиске. Начнем, как обычно, с двумерного случая. Дерево отрезков 7(1, N) используется при поиске по дг-координате. Этот поиск определяет уникальное множество узлов (узлов отнесения). Каждый такой узел v соответствует множеству из (E[v] — B[v]) абсцисс (определения даны в разд. 1.3.2.1), т.е. множеству из (E[v] —B[v]) точек на плоскости. Ординаты этих точек образуют обычное прошитое двоичное дерево для регионального поиска в «/-направлении. В результате построена новая структура данных, именуемая деревом регионов; его первичной структурой является дерево отрезков, заданных на абсциссах точек исходного множества S. В каждом узле этого дерева имеется указатель на прошитое двоичное дерево поиска (вторичные структуры). Для нашего постоянного примера эта структура проиллюстрирована на рис. 2.33.

Обобщение на d измерений можно провести весьма естественно. Пусть в rf-мерном пространстве с координатными осями Х\, Xq, ..., xd задано множество S из JV точек. Эти координаты будут обрабатываться в следующем порядке: сначала х\, затем х2 и т. д. Предположим также, что все значения координат нормализованы. Дерево регионов строится рекурсивно следующим образом:

(1) Первичное дерево отрезков 7* соответствует множеству {х\(р)\ peS). Для каждого узла v из 7* обозначим через Sd (v) — множество точек из 5, проецирующихся на отрезок [B[v], E[v]) по координате Хи Определим (d — 1)-мерное множество:

Sd^'(v)A {(х2(р), .... xd(p)): p^Sd(v)}.

(2) Узел v из 7* имеет указатель на дерево регионов для Sd-i(v).

Перед тем как приступить к анализу эффективности данного метода, заметим, что дерево отрезков можно считать не только инструментом для разбиения любого отрезка на логарифмическое число кусков, но также и способом применения метода «разделяй и властвуй» к региональному поиску.

106

Г л. 2. Геометрический поиск

2.3. Задачи регионального поиска

107

ности, узел v порождает поиск на п (v) Д Е [v] — В [v] точках. Обозначая через Q(N, d) время поиска для файла из N штук d-мерных точек, получаем простое рекуррентное соотношение:

Q (N, d) — 0 (log N) + иемножЕтву узлов Q (" (»), d - 1). (2.4)

запросного региона

Первый член в правой части этого уравнения появился из-за поиска на первичном дереве отрезков, а второй член объясняется наличием (d—1)-мерных подзадач. Поскольку существует не более 2Tlog2Л/"1 — 2 узлов отнесения и n(v)^N (очевидно), то получаем

Q(N, d) = О (log N)Q(N, d- 1).

Поскольку Q(N, 1) = О (log N) для двоичного поиска, то получаем оценку времени поиска:

Q (Л/, d) = 0 ((log N)d). (2.5)

Обозначая через S(N, d) память, занятую деревом регионов, получаем рекуррентное соотношение

S(N, d) = 0(N)-\- Z S(n(v), d-l), (2.6)

по всем узлам о первичного дерева

где первый член в правой части соответствует памяти, занятой первичным деревом, а второй член соответствует всем (d— 1)-мерным деревьям. Оценка второго члена очень проста, если JV есть степень 2; в противном случае будет использована столь же эффективная простая аппроксимация. Существует не более двух узлов v с n(v) — 2rlogjJVl"1) не более четырех — cn(v) = 2rloBlJVl""2 и т. д. Поэтому эту сумму можно оценить сверху следующим образом:

Е S(n(v), d—1)< S 2n°g^-i-<.s(2', d- 1).

по всем узлам о i=0

первичного дерева

Учитывая эту аппроксимацию и замечая, что 5 (Л/, 1)= О(N) — память под прошитое двоичное дерево, получаем решение S (N, d) = 0(N log*-1 N). (2.7)

Для оценки времени предварительной обработки можно следовать той же самой схеме рассуждений; оставим это в качестве весьма простого упражнения. В самом деле, в этом случае для оценки эффективности применимо рекуррентное соотношение, идентичное (2.6), со всеми его следствиями. Теперь можно подвести итог предшествовавшему обсуждению в следующей теореме:

108

Гл. 2. Геометрический поиск

Теорема 2.11. Региональный поиск на d-мерном файле из N точек можно провести (Л/logd-'N, logd N)-алгоритмом, если затратить 0(N logd_1 N) времени на предварительную обработку. Этот алгоритм основан на методе дерева регионов.
Предыдущая << 1 .. 31 32 33 34 35 36 < 37 > 38 39 40 41 42 43 .. 180 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed