- •Богданов а.Е. Курс лекций
- •Содержание
- •§ 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. Сложность задач теории графов. Задача синтеза управляющих систем
- •Задача синтеза управляющих систем
- •Задача о выполнимости
- •Литература
- •Электронное пособие курс лекций
- •«Дискретная математика».
§ 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
и
.
Необходимо построить дерево
бинарного поиска минимальной стоимости
для множества
,
элементы которого упорядочены следующим
образом:
,
т.е. оптимальное
дерево бинарного поиска
(ОДБП) для весов
.
