Декартово дерево — Arc.Ask3.Ru

Декартово дерево Определение декартова дерева Декартово дерево — это двоичное дерево, построенное из последовательности различных чисел.   Корень дерева имеет значение […]

Декартово дерево

  • Определение декартова дерева

    • Декартово дерево — это двоичное дерево, построенное из последовательности различных чисел.  
    • Корень дерева имеет значение минимального числа в последовательности.  
    • Левое и правое поддеревья строятся рекурсивно из подпоследовательностей до и после минимального числа.  
    • Дерево обладает свойством минимальной кучи и симметричным обходом, возвращающим исходную последовательность.  
  • История и применение

    • Декартовы деревья введены Вуйлемином в 1980 году для структур данных поиска геометрического диапазона.  
    • Они используются в treap, рандомизированных структурах данных дерева бинарного поиска, алгоритмах сравнительной сортировки и сопоставления с образцом.  
  • Эффективное построение

    • Декартово дерево можно построить за линейное время на основе входной последовательности.  
    • Один из методов — обработка значений слева направо, сохраняя дерево обработанных узлов.  
    • Альтернативный алгоритм основан на поиске ближайших меньших значений.  
    • Другой алгоритм использует принцип «разделяй и властвуй».  
  • Приложения

    • Декартовы деревья используются для запросов с минимальным диапазоном и наименьших общих предков.  
    • Бендер и Фарах-Колтон предложили структуру данных для минимизации диапазона, которая также может использоваться для поиска наименьших общих предков.  
    • Декартовы деревья могут быть интерпретированы в терминах двумерного поиска дальности.  
  • Декартово дерево и его применение

    • Декартово дерево можно построить, отсортировав точки по x-координатам и используя y-координаты для формирования дерева.  
    • Наименьший общий предок двух точек в декартовом дереве — это самая нижняя точка на плите.  
    • Трехсторонний запрос диапазона можно выполнить, найдя самую нижнюю точку и рекурсивно продолжая поиск.  
  • Расстояние в ультраметрике

    • Расстояние между точками в ультраметрике можно найти, используя минимальное остовное дерево.  
    • Декартово дерево строится из минимального остовного дерева, где корневой узел представляет самое тяжелое ребро.  
    • Листья декартова дерева представляют точки метрического пространства, а наименьший общий предок — самое тяжелое ребро между точками.  
  • Декартово дерево как бинарное дерево поиска

    • Декартово дерево отсортированной последовательности — это график путей с корнем в крайней левой конечной точке.  
    • Бинарный поиск в декартовом дереве вырождается в последовательный поиск.  
    • Декартовы деревья могут использоваться для генерации двоичных деревьев поиска логарифмической глубины.  
  • Treap и zip-дерево

    • Treap — это самобалансирующееся бинарное дерево поиска, использующее случайные приоритеты.  
    • Zip-дерево использует ту же идею, но упрощает случайную генерацию приоритетов и выполняет вставки и удаления по-другому.  
    • Treap и zip-дерево имеют логарифмическую глубину и хорошо себя ведут в качестве деревьев поиска.  
  • Сортировка с использованием декартовых деревьев

    • Левкопулос и Петерссон предложили алгоритм сортировки, основанный на декартовых деревьях.  
    • Алгоритм поддерживает приоритетную очередь возможных минимумов и работает быстрее для почти отсортированных последовательностей.  
    • Наихудшее время работы алгоритма составляет O(n log k), где n — длина последовательности, а k — среднее значение по всем значениям.  
  • Сопоставление с образцом

    • Задача сопоставления с декартовым деревом — это поиск подстроки или подпоследовательности в строке, имеющей декартово дерево той же формы, что и заданный шаблон.  
    • Разработаны быстрые алгоритмы для вариаций задачи с использованием одного или нескольких шаблонов.  
  • Стилизация цитат

    • Цитирование с использованием шрифта наследования и переносом слов  
    • Использование котировок для цитат  
    • Настройка фонового цвета для цитат  
  • Идентификаторы и блокировки

    • Идентификаторы для различных типов блокировок: бесплатно, общество, регистрация, подписка  
    • Настройка ссылок на изображения для идентификаторов  
  • Значки и цвета

    • Значок для обозначения CS1 maint  
    • Настройка цвета и размера значка  
    • Настройка цвета для различных типов ошибок  
  • Основные элементы

    • Настройка цвета и маржи для различных элементов  
    • Настройка цвета и размера шрифта для различных медиа  
  • Библиографическое описание

    • Настройка шрифта для библиографического описания  
    • Настройка цвета для различных цветовых схем  

Полный текст статьи:

Декартово дерево — Arc.Ask3.Ru

Оставьте комментарий

Прокрутить вверх