§ 6. Построение оптимального дерева бинарного поиска. Алгоритм гильберта – мура
Упорядоченным деревом называется ориентированное дерево, для которого определен порядок узла любой его вершины.
Пусть множество элементов, упорядоченных следующим образом: .
Бинарным деревом поиска для множества А является упорядоченное бинарное дерево, в котором каждая вершина v так помечена элементом множества А , что
1. для любой вершины и в любом поддереве вершины v имеет место упорядочение: ;
2. для любой вершины и в правом поддереве вершины v : ;
3. для любого элемента х из множества А существует единственная вершина v , помеченная меткой .
Пусть имеется некоторое подмножество универсума:
и - такое множество, что
1. представляет множество всех элементов , для которых ;
2. представляет собой множество всех элементов , для которых х < a1 ;
3. bn представляет собой множество всех элементов , для которых .
Другими словами, элемент bi можно определить как
Расширенным деревом бинарного поиска для А называется дерево с п + 1 листьями (висячими вершинами), представляющими элементы множества В .
Пример. □ Деревья бинарного поиска для множества , где листья появляются слева направо, могут иметь вид:
■
Пусть дано подмножество и дерево Т бинарного поиска для А. Множество S может быть множеством всех слов над английским алфавитом. Упорядочение может быть лексикографическим порядком. Необходимо определить, принадлежит ли элемент множеству А . Сравним х с элементом, который соответствует корню дерева Т . При этом могут возникнуть четыре случая, в соответствии с которыми продолжается поиск:
1. корень отсутствует (дерево Т бинарного поиска пусто). Значит, , поиск завершается безуспешно;
2. х равен элементу, соответствующему корню. Значит поиск завершается успешно;
3. х меньше элемента, соответствующего корню. Значит поиск продолжается ниже в левом поддереве корня;
4. х больше элемента, соответствующего корню. Значит поиск продолжается ниже в правом поддереве корня.
Успешный поиск завершается во внутренних вершинах, а безуспешный – в листьях дерева Т.
Глубина вершины v определяется как длина пути из корня до v.
Число сравнений, выполняемых до того, как завершается успешно во внутренней вершине v дерева Т, на единицу больше глубины вершины v. Если поиск завершается безуспешно в листе, то число выполненных сравнений равно глубине листа.
Пусть частоты обращения к элементам соответственно; частоты, с которыми поиск завершается в листьях . Тогда среднее время поиска в дереве Т ( по всем возможным ситуациям: успешным и безуспешным ) пропорционально стоимости дерева Т , определяемой как математическое ожидание количества сравнений поиска по данному бинарному дереву:
, ( 1 )
где глубина элемента аi ; глубина элемента bj .
Частоты pi и могут быть интерпретированы как вероятности, тогда они должны быть неотрицательными и нормированными так, чтобы их сумма была равна 1:
.
Нормированные величины pi и называются весами узлов и листьев соответственно.
Пример. Для деревьев из предыдущего примера заданы веса узлов и листьев:
.
Определить стоимости деревьев.
□ Проверим, являются ли заданные p и q вероятностями:
.
Определим стоимость первого дерева. Согласно формуле (1) стоимость дерева составит:
.
Аналогично можно определить стоимость для второго дерева. ■
Пусть даны неотрицательные веса pi и . Необходимо построить дерево бинарного поиска минимальной стоимости для множества , элементы которого упорядочены следующим образом: , т.е. оптимальное дерево бинарного поиска (ОДБП) для весов .
- Богданов а.Е. Курс лекций
- Содержание
- § 1. Основные понятия теории множеств
- Основные понятия теории множеств
- Способы задания множеств
- Операции над множествами
- § 2. Соответствия. Функции. Отображения
- § 3. Понятие алгебры. Алгебра множеств кантора
- Диаграмма Эйлера-Венна
- § 4. Бинарные отношения
- Способы задания бинарных отношений
- Свойства бинарных отношений
- § 5. Бинарное отношение эквивалентности
- § 6. Бинарное отношение порядка. Упорядоченные
- § 7. Решетки (структуры). Изоморфизм
- Изоморфизм множеств
- Дедекиндовые решетки
- Дистрибутивные решетки
- § 8. Отношения (обобщение). Алгебраические
- Операции над отношениями
- Алгебраические системы
- Глава ιι. Комбинаторный анализ
- § 1. Основные определения
- Правила суммы и произведения
- § 2. Формулы расчета перестановок и сочетаний
- § 3. Бином и полином
- § 4. Подстановки
- § 5. Метод включений и исключений
- § 6. Метод производящих функций
- § 7. Комбинаторная мера информации. Вероятность искажения информации
- Глава ιіі. Теория графов
- § 1. Первоначальные понятия теории графов
- § 2. Операции над графами. Способы задания графов Операции над графами
- Способы задания графов
- § 3. Маршруты, цепи, циклы и другие характеристики графа
- § 4. Алгебраическая форма представления графа
- Глава іv. Некоторые приложения графов
- § 1. Эйлеровы графы. Алгоритм флери. Гамильтоновы
- Эйлеровы графы
- Алгоритм Флери.
- Метод построения эйлерового обхода двоичного куба
- Гамильтоновы графы. Метод Робертса – Флореса
- Метод перебора Робертса – Флореса
- § 2. Пространство циклов графа
- § 3. Независимое множество вершин графа
- Алгоритм выделения пустых подграфов
- § 4. Вершинное число внешней устойчивости графа
- § 5. Плотность графа
- Алгоритм выделения полных подграфов
- § 6. Раскраска графа
- Оценки хроматического числа
- Алгоритм минимальной раскраски вершин графа
- § 7. Планарность графа
- Глава V. Оптимизационные алгоритмы теории графов
- § 1. Определение кратчайших путей. Алгоритм дейкстры
- § 2. Максимальный поток через сеть. Алгоритм
- Алгоритм Форда – Фалкерсона
- § 3. Построение остова экстремального веса. Алгоритм краскала
- § 4. Метод ветвей и границ: задача коммивояжера. Общая модель задачи поиска
- Дерево поиска частичных решений
- § 5. Применение ориентированных деревьев в задачах теории кодирования и диагностирования
- § 6. Построение оптимального дерева бинарного поиска. Алгоритм гильберта – мура
- Алгоритм Гильберта – Мура построения оптимального дерева бинарного поиска Суть алгоритма
- Алгоритм
- § 7. Сложность задач теории графов. Задача синтеза управляющих систем
- Задача синтеза управляющих систем
- Задача о выполнимости
- Литература
- Электронное пособие курс лекций
- «Дискретная математика».