<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.25.192.245&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=94.25.192.245&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/94.25.192.245"/>
		<updated>2026-05-17T21:36:35Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BF%D0%B5%D1%86%D0%BE%D0%B8%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0&amp;diff=18098</id>
		<title>Трапецоидная карта</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BF%D0%B5%D1%86%D0%BE%D0%B8%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0&amp;diff=18098"/>
				<updated>2012-02-15T18:25:07Z</updated>
		
		<summary type="html">&lt;p&gt;94.25.192.245: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Трапецоидная карта - геометрическая структура позволяющая локализоваться на площади за &amp;lt;tex&amp;gt;O(log(n))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
==Постановка задачи==&lt;br /&gt;
  Предположим, у нас есть наши координаты, и есть карта мира.&lt;br /&gt;
  &lt;br /&gt;
  Мы можем найти по карте наше местоположение и сказать в какой области мы находимся.&lt;br /&gt;
  &lt;br /&gt;
  Области задаются отрезками. &lt;br /&gt;
  ===Формальная постановка задачи===&lt;br /&gt;
	&lt;br /&gt;
	Есть множество отрезков на плоскости.&lt;br /&gt;
	&lt;br /&gt;
	Есть запрос (точка q), на выход подается область заданная какими-то отрезками в которой находится q.&lt;br /&gt;
&lt;br /&gt;
==Структура данных==&lt;br /&gt;
&lt;br /&gt;
	===Геометрическая===&lt;br /&gt;
		У нас есть множество отрезков ограничееных оболочкой R(это не выпуклая оболочка, а просто мнимая граница плоскости за которую не вылезают отрезки)&lt;br /&gt;
	&lt;br /&gt;
		Мы договариваемся что никакие две точки не лежат на одной вертикале(в противном случаи все еще противнее)&lt;br /&gt;
	&lt;br /&gt;
	''Трапецоидная карта'' множества отрезков S  - это эти отрезки + из кажой точки выпущены два луча, вверх и вниз до первого пересечения с другим отрезком или с оболочкой R.&lt;br /&gt;
	***картинака***&lt;br /&gt;
	!!!Очевидный факт - любой face трапецоидной карты ограничен одним или двумя вертикальными отрезками и обязательно двумя не вертикальными отрезками.&lt;br /&gt;
	Именно отсюда берется название стрктуры, так как любой face либо трапеция, либо треугольник.&lt;br /&gt;
	Введем обозначения для навигации по карте.&lt;br /&gt;
		* левая граница(leftp) - точка определяющая левуюы сторону трапецоида или в случаи треугольника просто являющаяся левой вершиной.&lt;br /&gt;
		* правая граница(rightp) - аналогично левой только справа.&lt;br /&gt;
		* верхний отрезок(top) и нижний отрезок(bottom) - отрезки ограничивающие трапецоид сверху и снизу.&lt;br /&gt;
	[[Файл:Trapezoidmapshagal.jpg|400px|thumb|right|трапецоидная карта]]&lt;br /&gt;
&lt;br /&gt;
		* трапецоиды называются смежными, если имеют общую вертикальную границу.&lt;br /&gt;
		* пусть &amp;lt;tex&amp;gt;\Delta_1 и \Delta_2&amp;lt;/tex&amp;gt; смежны и либо top(&amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;) = top(&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt;), либо bottom(&amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;) = bottom(&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt;)&lt;br /&gt;
		&lt;br /&gt;
		Тогда &amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt; называют либо большими левыми соседями, либо меньшими.&lt;br /&gt;
	Хранить трапецоиды можно в чем угодно. Вместе с самим трапецоидом, стоит хранить leftp, rightp, top и bottom так же следует хранить соседей трапецоида.&lt;br /&gt;
	&lt;br /&gt;
	Теорема о количетве трапецоидов&lt;/div&gt;</summary>
		<author><name>94.25.192.245</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BF%D0%B5%D1%86%D0%BE%D0%B8%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0&amp;diff=18097</id>
		<title>Трапецоидная карта</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BF%D0%B5%D1%86%D0%BE%D0%B8%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0&amp;diff=18097"/>
				<updated>2012-02-15T18:15:37Z</updated>
		
		<summary type="html">&lt;p&gt;94.25.192.245: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Трапецоидная карта - геометрическая структура позволяющая локализоваться на площади за &amp;lt;tex&amp;gt;O(log(n))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
==Постановка задачи==&lt;br /&gt;
  Предположим, у нас есть наши координаты, и есть карта мира.&lt;br /&gt;
  Мы можем найти по карте наше местоположение и сказать в какой области мы находимся.&lt;br /&gt;
  Области задаются отрезками. &lt;br /&gt;
  ''Формальная постановка задачи''&lt;br /&gt;
	Есть множество отрезков на плоскости.&lt;br /&gt;
	Есть запрос (точка q), на выход подается область заданная какими-то отрезками в которой находится q.&lt;br /&gt;
==Структура данных==&lt;br /&gt;
===Геометрическая===&lt;br /&gt;
	У нас есть множество отрезков ограничееных оболочкой R(это не выпуклая оболочка, а просто мнимая граница плоскости за которую не вылезают отрезки)&lt;br /&gt;
	Мы договариваемся что никакие две точки не лежат на одной вертикале(в противном случаи все еще противнее)&lt;br /&gt;
	''Трапецоидная карта'' множества отрезков S  - это эти отрезки + из кажой точки выпущены два луча, вверх и вниз до первого пересечения с другим отрезком или с оболочкой R.&lt;br /&gt;
	***картинака***&lt;br /&gt;
	!!!Очевидный факт - любой face трапецоидной карты ограничен одним или двумя вертикальными отрезками и обязательно двумя не вертикальными отрезками.&lt;br /&gt;
	Именно отсюда берется название стрктуры, так как любой face либо трапеция, либо треугольник.&lt;br /&gt;
	Введем обозначения для навигации по карте.&lt;br /&gt;
		*левая граница(leftp) - точка определяющая левуюы сторону трапецоида или в случаи треугольника просто являющаяся левой вершиной.&lt;br /&gt;
		*правая граница(rightp) - аналогично левой только справа.&lt;br /&gt;
		*верхний отрезок(top) и нижний отрезок(bottom) - отрезки ограничивающие трапецоид сверху и снизу.&lt;br /&gt;
		&lt;br /&gt;
	***картинка****&lt;br /&gt;
		*трапецоиды называются смежными, если имеют общую вертикальную границу.&lt;br /&gt;
		*пусть &amp;lt;tex&amp;gt;\Delta_1 и \Delta_2&amp;lt;/tex&amp;gt; смежны и либо top(&amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;) = top(&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt;), либо bottom(&amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;) = bottom(&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt;)&lt;br /&gt;
		&lt;br /&gt;
		Тогда &amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt; называют либо большими левыми соседями, либо меньшими.&lt;br /&gt;
	Хранить трапецоиды можно в чем угодно. Вместе с самим трапецоидом, стоит хранить leftp, rightp, top и bottom так же следует хранить соседей трапецоида.&lt;br /&gt;
	&lt;br /&gt;
	Теорема о количетве трапецоидов&lt;br /&gt;
	&lt;br /&gt;
===Поисковая структура===&lt;br /&gt;
	Поисковая структура(в дальнейшем &amp;lt;tex&amp;gt; D&amp;lt;/tex&amp;gt;) предсталяет из себя ацикличный граф с одним корнем и каждому трапецоиду в структре сооьветствует один лист.&lt;br /&gt;
	&lt;br /&gt;
	У каждого узла есль два ребенка  и при этом узел может быть двух типов.&lt;br /&gt;
	&lt;br /&gt;
	Первый тип узла - точка, соответствующая концу отрезка.&lt;br /&gt;
	&lt;br /&gt;
	Второй тип узла - отрезок.&lt;br /&gt;
	&lt;br /&gt;
	Во время запроса мы двигаемся по графу от его корня до момента, когда окажемся в листе, это и будет означать что точка находится внутри трапецоида.&lt;br /&gt;
	&lt;br /&gt;
	Если мы находимся не в листе, то мы должны опрелетиться в каком из детей мы окажемся дальше.&lt;br /&gt;
	&lt;br /&gt;
	Еcть два правила:&lt;br /&gt;
	&lt;br /&gt;
		#Если текущий узел соответсвует вершине, то смотрим левее или провее мы находимся(проверка по x-координате).&lt;br /&gt;
&lt;br /&gt;
		#Если текущий узел соответствует отрезку, то смотрим выше или ниже мы находимся(проверка по y-координате).&lt;br /&gt;
		&lt;br /&gt;
		#Плохие случаи:&lt;br /&gt;
		&lt;br /&gt;
			##Мы находимся на одной вертикале с вершиной&lt;br /&gt;
			&lt;br /&gt;
			##Мы находимся на отрезке&lt;br /&gt;
			&lt;br /&gt;
			Решение: молиться, или просто обрабатывать вручную.&lt;br /&gt;
==Алгоритм==&lt;br /&gt;
	Мы рассматриваем алгоритм построения карты и алгоритм запроса.&lt;br /&gt;
===Алгоритм построения карты===&lt;br /&gt;
	Во время построения трапецоидной карты(в дальнейшем &amp;lt;tex&amp;gt; T&amp;lt;/tex&amp;gt;) алгоритм так же строит структуру для поиска (в дальнейшем &amp;lt;tex&amp;gt; D&amp;lt;/tex&amp;gt;).&lt;br /&gt;
	Так как трапецоидная карта - геометрическая структура, а основные операции ведутся именно с поисковой, упор на неё.&lt;br /&gt;
	Наш алгоритм добавляет отрезки по одному и после каждого добававления модидицирует &amp;lt;tex&amp;gt; T&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; D&amp;lt;/tex&amp;gt;.&lt;br /&gt;
	===Порядок добавления отрезков===&lt;br /&gt;
		От порядка добавления зависит время запроса. Как? Время запрос пропорцианально глубине графа.&lt;br /&gt;
		Считается, что еслли добавлять отрезки рандомно, то время будет хорошим. Почему и какое время будет рассписано дальше.&lt;br /&gt;
	===Алгоритм===&lt;br /&gt;
		#Добавили отрезок.&lt;br /&gt;
		#Нашли все трапецоиды, которые пересек новый отрезок.&lt;br /&gt;
		#Удалили их.&lt;br /&gt;
		#Создали новый трапецоиды.&lt;br /&gt;
	Рассмотрим подробнее последние две части&lt;br /&gt;
		Есть два случая.&lt;br /&gt;
		Простой - отрезок не пересекает ни одного трапецоида, то есть целеком внутри.&lt;br /&gt;
			Тогда удаляем этот старый трапецоид и на его место ставим дерево из двух концов отрезка, отрезка и четырех образовавшихся трапецоидов.&lt;br /&gt;
			Важно не забыть правильно определить соседей новых трапецоидов.&lt;br /&gt;
			В случаи если какие-то трапецоиду выродятся в треугольники будет не четыре новых трапецоида , а 2 или 3. Слава богу это не самая большая проблема.&lt;br /&gt;
		***картинка***&lt;br /&gt;
		Сложный - отрезок пересекает сразу несколько трапецоидов.&lt;br /&gt;
		&lt;br /&gt;
			&lt;br /&gt;
  По очереди добавляем отрезки на плоскость. На каждом шагу модифицуруем трапецоидную карту.&lt;br /&gt;
===Алгоритм локализации точки===&lt;br /&gt;
==Асимптотика==&lt;br /&gt;
	Рассмотрим путь пройденный точкой при запросе. Каждый узел на этом пути был создан на какой-то итерации алгоритма.&lt;br /&gt;
	Пусть &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; - количество узлов созданных на i-ой bnthfwbb алгоритма.&lt;br /&gt;
	&amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; рандомная велина зависящая только от рандомного порядка добавления отрезков.&lt;br /&gt;
===Память===&lt;br /&gt;
		&lt;br /&gt;
===Построение===&lt;br /&gt;
===Запрос===&lt;br /&gt;
	Запрос производится за время пропорцианальное глубине графа(поисковой структуры). Если считать, что на каждой итерации глубина увеливается максимум на 3, то время работы&lt;br /&gt;
	в худшем случаи будет O(3n). Но мы вспоминаем, что порядок добавления отрезков рандомный, а потому наврядли всегда будет худший случай.&lt;br /&gt;
	Рассмотрим путь пройденный точкой по графу. Каждый узел был создан на какой-то итерации цикла. Обозначим за &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; - количество узлов созданных на итерации i.&lt;br /&gt;
	Эта величина зависит только от порядка добаления отрезков(если множество установлено).&lt;br /&gt;
	Будет искать математическое ожидание глубины графа.&lt;br /&gt;
	&amp;lt;tex&amp;gt;E[\sum^{n}_{i=1}X_i] = \sum^{n}_{i=1}E[X_i]&amp;lt;/tex&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
==Реализация==&lt;br /&gt;
	Здесь будут примерно расссписано, то как реализовывать основные моменты.&lt;br /&gt;
	===Определение трапецоидов, которых пересечет новый отрезок===&lt;br /&gt;
		List&amp;lt;Trapezoid&amp;gt; FollowSegment&lt;br /&gt;
			Point p, q  - концы текущего отрезка.&lt;br /&gt;
			Запрос на p - выдает трапецоид из текущего состояния карты, в котором лежит p(локализуем p)&lt;br /&gt;
			j = 0&lt;br /&gt;
			while q справа от правой границы трапецоида номер j&lt;br /&gt;
				if правая граница выше отрезка then&lt;br /&gt;
					трапецоид номер j + 1 , будет меньшим правым соседом j&lt;br /&gt;
				else&lt;br /&gt;
					трапецоид номер j + 1 , будет большим правым соседом j&lt;br /&gt;
				 j = j + 1&lt;br /&gt;
			return трапецоиды которые попали.&lt;br /&gt;
	===Построение карта===&lt;br /&gt;
		Поисковая структура и карта Trapezoid map&lt;br /&gt;
			Находим оболочку &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;, такую что все отрезки находятся внутри.&lt;br /&gt;
			Строим &amp;lt;b&amp;gt;рандомную&amp;lt;/b&amp;gt; перестановку отрезков.&lt;br /&gt;
			for i = 1 to n&lt;br /&gt;
				Находим множество трапецоидов пересекаемых текущим отрезком.&lt;br /&gt;
				Удаляем из нужные листья из &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;, обавляем новые.&lt;/div&gt;</summary>
		<author><name>94.25.192.245</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BF%D0%B5%D1%86%D0%BE%D0%B8%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0&amp;diff=18096</id>
		<title>Трапецоидная карта</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A2%D1%80%D0%B0%D0%BF%D0%B5%D1%86%D0%BE%D0%B8%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D1%80%D1%82%D0%B0&amp;diff=18096"/>
				<updated>2012-02-15T18:15:05Z</updated>
		
		<summary type="html">&lt;p&gt;94.25.192.245: Новая страница: «Трапецоидная карта - геометрическая структура позволяющая локализоваться на площади за...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Трапецоидная карта - геометрическая структура позволяющая локализоваться на площади за &amp;lt;tex&amp;gt;O(log_2(n))&amp;lt;/tex&amp;gt;.&lt;br /&gt;
==Постановка задачи==&lt;br /&gt;
  Предположим, у нас есть наши координаты, и есть карта мира.&lt;br /&gt;
  Мы можем найти по карте наше местоположение и сказать в какой области мы находимся.&lt;br /&gt;
  Области задаются отрезками. &lt;br /&gt;
	*реки&lt;br /&gt;
	*моря&lt;br /&gt;
	*границы государств&lt;br /&gt;
	*&amp;lt;tex&amp;gt;...&amp;lt;/tex&amp;gt;&lt;br /&gt;
  ''Формальная постановка задачи''&lt;br /&gt;
	Есть множество отрезков на плоскости.&lt;br /&gt;
	Есть запрос (точка q), на выход подается область заданная какими-то отрезками в которой находится q.&lt;br /&gt;
==Структура данных==&lt;br /&gt;
===Геометрическая===&lt;br /&gt;
	У нас есть множество отрезков ограничееных оболочкой R(это не выпуклая оболочка, а просто мнимая граница плоскости за которую не вылезают отрезки)&lt;br /&gt;
	Мы договариваемся что никакие две точки не лежат на одной вертикале(в противном случаи все еще противнее)&lt;br /&gt;
	''Трапецоидная карта'' множества отрезков S  - это эти отрезки + из кажой точки выпущены два луча, вверх и вниз до первого пересечения с другим отрезком или с оболочкой R.&lt;br /&gt;
	***картинака***&lt;br /&gt;
	!!!Очевидный факт - любой face трапецоидной карты ограничен одним или двумя вертикальными отрезками и обязательно двумя не вертикальными отрезками.&lt;br /&gt;
	Именно отсюда берется название стрктуры, так как любой face либо трапеция, либо треугольник.&lt;br /&gt;
	Введем обозначения для навигации по карте.&lt;br /&gt;
		*левая граница(leftp) - точка определяющая левуюы сторону трапецоида или в случаи треугольника просто являющаяся левой вершиной.&lt;br /&gt;
		*правая граница(rightp) - аналогично левой только справа.&lt;br /&gt;
		*верхний отрезок(top) и нижний отрезок(bottom) - отрезки ограничивающие трапецоид сверху и снизу.&lt;br /&gt;
		&lt;br /&gt;
	***картинка****&lt;br /&gt;
		*трапецоиды называются смежными, если имеют общую вертикальную границу.&lt;br /&gt;
		*пусть &amp;lt;tex&amp;gt;\Delta_1 и \Delta_2&amp;lt;/tex&amp;gt; смежны и либо top(&amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;) = top(&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt;), либо bottom(&amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;) = bottom(&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt;)&lt;br /&gt;
		&lt;br /&gt;
		Тогда &amp;lt;tex&amp;gt;\Delta_1&amp;lt;/tex&amp;gt;,&amp;lt;tex&amp;gt;\Delta_2&amp;lt;/tex&amp;gt; называют либо большими левыми соседями, либо меньшими.&lt;br /&gt;
	Хранить трапецоиды можно в чем угодно. Вместе с самим трапецоидом, стоит хранить leftp, rightp, top и bottom так же следует хранить соседей трапецоида.&lt;br /&gt;
	&lt;br /&gt;
	Теорема о количетве трапецоидов&lt;br /&gt;
	&lt;br /&gt;
===Поисковая структура===&lt;br /&gt;
	Поисковая структура(в дальнейшем &amp;lt;tex&amp;gt; D&amp;lt;/tex&amp;gt;) предсталяет из себя ацикличный граф с одним корнем и каждому трапецоиду в структре сооьветствует один лист.&lt;br /&gt;
	&lt;br /&gt;
	У каждого узла есль два ребенка  и при этом узел может быть двух типов.&lt;br /&gt;
	&lt;br /&gt;
	Первый тип узла - точка, соответствующая концу отрезка.&lt;br /&gt;
	&lt;br /&gt;
	Второй тип узла - отрезок.&lt;br /&gt;
	&lt;br /&gt;
	Во время запроса мы двигаемся по графу от его корня до момента, когда окажемся в листе, это и будет означать что точка находится внутри трапецоида.&lt;br /&gt;
	&lt;br /&gt;
	Если мы находимся не в листе, то мы должны опрелетиться в каком из детей мы окажемся дальше.&lt;br /&gt;
	&lt;br /&gt;
	Еcть два правила:&lt;br /&gt;
	&lt;br /&gt;
		#Если текущий узел соответсвует вершине, то смотрим левее или провее мы находимся(проверка по x-координате).&lt;br /&gt;
&lt;br /&gt;
		#Если текущий узел соответствует отрезку, то смотрим выше или ниже мы находимся(проверка по y-координате).&lt;br /&gt;
		&lt;br /&gt;
		#Плохие случаи:&lt;br /&gt;
		&lt;br /&gt;
			##Мы находимся на одной вертикале с вершиной&lt;br /&gt;
			&lt;br /&gt;
			##Мы находимся на отрезке&lt;br /&gt;
			&lt;br /&gt;
			Решение: молиться, или просто обрабатывать вручную.&lt;br /&gt;
==Алгоритм==&lt;br /&gt;
	Мы рассматриваем алгоритм построения карты и алгоритм запроса.&lt;br /&gt;
===Алгоритм построения карты===&lt;br /&gt;
	Во время построения трапецоидной карты(в дальнейшем &amp;lt;tex&amp;gt; T&amp;lt;/tex&amp;gt;) алгоритм так же строит структуру для поиска (в дальнейшем &amp;lt;tex&amp;gt; D&amp;lt;/tex&amp;gt;).&lt;br /&gt;
	Так как трапецоидная карта - геометрическая структура, а основные операции ведутся именно с поисковой, упор на неё.&lt;br /&gt;
	Наш алгоритм добавляет отрезки по одному и после каждого добававления модидицирует &amp;lt;tex&amp;gt; T&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt; D&amp;lt;/tex&amp;gt;.&lt;br /&gt;
	===Порядок добавления отрезков===&lt;br /&gt;
		От порядка добавления зависит время запроса. Как? Время запрос пропорцианально глубине графа.&lt;br /&gt;
		Считается, что еслли добавлять отрезки рандомно, то время будет хорошим. Почему и какое время будет рассписано дальше.&lt;br /&gt;
	===Алгоритм===&lt;br /&gt;
		#Добавили отрезок.&lt;br /&gt;
		#Нашли все трапецоиды, которые пересек новый отрезок.&lt;br /&gt;
		#Удалили их.&lt;br /&gt;
		#Создали новый трапецоиды.&lt;br /&gt;
	Рассмотрим подробнее последние две части&lt;br /&gt;
		Есть два случая.&lt;br /&gt;
		Простой - отрезок не пересекает ни одного трапецоида, то есть целеком внутри.&lt;br /&gt;
			Тогда удаляем этот старый трапецоид и на его место ставим дерево из двух концов отрезка, отрезка и четырех образовавшихся трапецоидов.&lt;br /&gt;
			Важно не забыть правильно определить соседей новых трапецоидов.&lt;br /&gt;
			В случаи если какие-то трапецоиду выродятся в треугольники будет не четыре новых трапецоида , а 2 или 3. Слава богу это не самая большая проблема.&lt;br /&gt;
		***картинка***&lt;br /&gt;
		Сложный - отрезок пересекает сразу несколько трапецоидов.&lt;br /&gt;
		&lt;br /&gt;
			&lt;br /&gt;
  По очереди добавляем отрезки на плоскость. На каждом шагу модифицуруем трапецоидную карту.&lt;br /&gt;
===Алгоритм локализации точки===&lt;br /&gt;
==Асимптотика==&lt;br /&gt;
	Рассмотрим путь пройденный точкой при запросе. Каждый узел на этом пути был создан на какой-то итерации алгоритма.&lt;br /&gt;
	Пусть &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; - количество узлов созданных на i-ой bnthfwbb алгоритма.&lt;br /&gt;
	&amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; рандомная велина зависящая только от рандомного порядка добавления отрезков.&lt;br /&gt;
===Память===&lt;br /&gt;
		&lt;br /&gt;
===Построение===&lt;br /&gt;
===Запрос===&lt;br /&gt;
	Запрос производится за время пропорцианальное глубине графа(поисковой структуры). Если считать, что на каждой итерации глубина увеливается максимум на 3, то время работы&lt;br /&gt;
	в худшем случаи будет O(3n). Но мы вспоминаем, что порядок добавления отрезков рандомный, а потому наврядли всегда будет худший случай.&lt;br /&gt;
	Рассмотрим путь пройденный точкой по графу. Каждый узел был создан на какой-то итерации цикла. Обозначим за &amp;lt;tex&amp;gt;X_i&amp;lt;/tex&amp;gt; - количество узлов созданных на итерации i.&lt;br /&gt;
	Эта величина зависит только от порядка добаления отрезков(если множество установлено).&lt;br /&gt;
	Будет искать математическое ожидание глубины графа.&lt;br /&gt;
	&amp;lt;tex&amp;gt;E[\sum^{n}_{i=1}X_i] = \sum^{n}_{i=1}E[X_i]&amp;lt;/tex&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
==Реализация==&lt;br /&gt;
	Здесь будут примерно расссписано, то как реализовывать основные моменты.&lt;br /&gt;
	===Определение трапецоидов, которых пересечет новый отрезок===&lt;br /&gt;
		List&amp;lt;Trapezoid&amp;gt; FollowSegment&lt;br /&gt;
			Point p, q  - концы текущего отрезка.&lt;br /&gt;
			Запрос на p - выдает трапецоид из текущего состояния карты, в котором лежит p(локализуем p)&lt;br /&gt;
			j = 0&lt;br /&gt;
			while q справа от правой границы трапецоида номер j&lt;br /&gt;
				if правая граница выше отрезка then&lt;br /&gt;
					трапецоид номер j + 1 , будет меньшим правым соседом j&lt;br /&gt;
				else&lt;br /&gt;
					трапецоид номер j + 1 , будет большим правым соседом j&lt;br /&gt;
				 j = j + 1&lt;br /&gt;
			return трапецоиды которые попали.&lt;br /&gt;
	===Построение карта===&lt;br /&gt;
		Поисковая структура и карта Trapezoid map&lt;br /&gt;
			Находим оболочку &amp;lt;tex&amp;gt;R&amp;lt;/tex&amp;gt;, такую что все отрезки находятся внутри.&lt;br /&gt;
			Строим &amp;lt;b&amp;gt;рандомную&amp;lt;/b&amp;gt; перестановку отрезков.&lt;br /&gt;
			for i = 1 to n&lt;br /&gt;
				Находим множество трапецоидов пересекаемых текущим отрезком.&lt;br /&gt;
				Удаляем из нужные листья из &amp;lt;tex&amp;gt; D &amp;lt;/tex&amp;gt;, обавляем новые.&lt;/div&gt;</summary>
		<author><name>94.25.192.245</name></author>	</entry>

	</feed>