Лекция 8 Красно-черные деревья План лекции 1.Определение красно-черного дерева и его высота. 2.Вращения 3.Вставка элемента, восстановление структуры дерева.

Презентация:



Advertisements
Похожие презентации
Лекция 9 Б-деревья План лекции 1.Структуры данных на диске 2.Определение Б-дерева. 3.Высота Б-дерева. 4.Поиск в Б-дереве 5.Создание пустого дерева. 6.Разбиение.
Advertisements

Augmenting Data Structures, Dynamic Order Statistics Клишин Алексей, 86м22 Линева Татьяна, 85м1 Макарова Татьяна, 85м1.
Двоичные деревья поиска Двоичное дерево поиска – это, как следует из названия – двоичное дерево. Это дерево может быть представлено как связанная структура.
Б-деревья Лекция 19. Б-деревья Б-деревья – сбалансированные деревья, обеспечивающие эффективное хранение информации на дисках и других устройствах с прямым.
Деревья ПОИСКА Дерево поиска – это либо пустое дерево, либо непустое двоичное дерево, в котором все элементы различны и в котором для каждой вершины справедливо.
Задание бинарных деревьев с помощью массивов Обходы деревьев.
Деревья1 Структуры и алгоритмы обработки данных, 1 Лекция 5 ДЕРЕВЬЯ 1.Определения дерева, леса, бинарного дерева. Скобочное представление 2.Спецификация.
Деревья1 Структуры и алгоритмы обработки данных, 1 Лекция 6 ДЕРЕВЬЯ (продолжение) 1.Нерекурсивные процедуры обхода бинарных деревьев 2.Представления.
Двоичные деревья поиска. Очередь с приоритетами Федор Царев Спецкурс «Олимпиадное программирование» Лекция , Санкт-Петербург, Гимназия.
Древовидная модель оказывается довольно эффективной для представления динамических данных с целью быстрого поиска информации. Деревья являются одними из.
Алгоритмы сканирования и обхода Лекция 3. Алгоритм сканирования графа Input: Орграф (граф) G и вершина s. Output: Множество R вершин, достижимых из s,
ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Алгоритмы поиска данных Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных.
Деревья, преобразование выражений Лекция 11. Время, затрачиваемое алгоритмом, как функция от размера задачи, называется временной сложностью. Поведение.
Информатика ЕГЭ Уровень А5. Вариант 1 Определите значения переменных a, b, c после выполнения следующего фрагмента программы: a:=5; b:=1; a:=a+b; if a>10.
Дерево это связный ациклический граф. Связность означает наличие путей между любой парой вершин, ацикличность отсутствие циклов и то, что между парами.
1 3 o 5 Оценка эффективности инвестиций 6 Определение затрат.
Алгоритм Эдмондса Лекция 11. Идея алгоритма Эдмондса Пусть есть некоторое паросочетание M, построим M-чередующийся лес F. Начинаем с множества S вершин.
Rank-Balanced Trees Локис Василий КН-301 Екатеринбург, 2010.
Возвратные уравнения. Алгебраические уравнения вида: Возвратные уравнения это уравнения, у которых коэффициенты, одинаково удалённые от начала и от конца,
M-чередующаяся декомпозиция Лекция 10. Нечетная декомпозиция Теорема 9.7 (Lovász [1972] ) Граф является фактор-критическим тогда и только тогда, когда.
Транксрипт:

Лекция 8 Красно-черные деревья План лекции 1.Определение красно-черного дерева и его высота. 2.Вращения 3.Вставка элемента, восстановление структуры дерева 4.Удаление элемента, процедура RB_Delete_Fixup.

Красно-черные деревья Красно-черное дерево –это двоичное дерево поиска, вершины которого разделены на красные и черные. Двоичное дерево поиска называется красно-черным деревом, если оно обладает следующими свойствами: Каждая вершина – либо черная, либо красная. Корень дерева является черным Каждый лист (NIL) – черный. Если вершина красная, оба ее ребенка черные. Все пути, идущие вниз от корня к листьям, содержат одинаковое количество черных вершин.

Красно-черное дерево

Высота красно-черного дерева Красно-черное дерево с n внутренними вершинами (т.е. не считая NIL-листьев) имеет высоту не больше 2*log(n+1) Поддерево с корнем в x содержит по меньшей мере 2 bh(x) – 1 внутренних вершин (bh(x) – черная высота вершины x). Для листьев черная высота равна 0. Если вершина не является листом и имеет черную высоту k, то оба ее ребенка имеют черную высоту не меньше k- 1. По предположению индукции левое и правое поддеревья вершины x содержат не менее 2 k-1 1вершин, поэтому поддерево с корнем в x содержит по меньшей мере 2 k k = 2 k -1 внутренних вершин. Черная высота дерева не меньше h/2.Тогда n>= 2 h/2 -1. Ч.т.д.

Вращения

Добавление вершины

Добавление вершины(2)

Добавление вершины (3)

Добавление вершины (4)

Удаление RB-DELETE (T, z) 1 if left[z] = nil[T] or right[z] = nil[T] 2 then y = z 3 else y = TREE- SUCCESSOR(z) 4 if left[y] != nil[T] 5 then x = left[y] 6 else x = right[y] 7 p[x] = p[y] 8 if p[y] = nil[T] 9 then root[T] = x 10 else if y = left[p[y]] 11 then left[p[y]] = x 12 else right[p[y]] = x 13 if y != z 14 then key[z] = key[y] 15 If y has other fields, copy them, too. 16 if color[y] = BLACK 17 then RB-DELETE- FIXUP (T,x) 18 return y

Удаление (2)

Удаление (3)