Главная » Просмотр файлов » Дж. Андерсон - Дискретная математика и комбинаторика (2004)

Дж. Андерсон - Дискретная математика и комбинаторика (2004) (1127091), страница 115

Файл №1127091 Дж. Андерсон - Дискретная математика и комбинаторика (2004) (Дж. Андерсон - Дискретная математика и комбинаторика (2004)) 115 страницаДж. Андерсон - Дискретная математика и комбинаторика (2004) (1127091) страница 1152019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 115)

В дереве с минимальным весом на максимальном уровне листья присутствуют в парах, т.е. везде, где есть левый сын, имеется и правый сын и наоборот. ДОКАЗАТЕЛЬСТВО. Существует только конечное число бинарных деревьев с и листьями. Для каждого из них подсчитаем 644 ГЛАВА 15. Деревья ДОКАЗАТЕЛЬСТВО. Допустим, что на максимальном уровне имеется единственный сын; пусть это будет левый сын, помеченный символом в. Правого сына нет, поэтому имеем дерево, изображенное на рис. 15.35. Если мы теперь удалим левого сына и обозначим родителя меткой в, то в результате получим дерево с меньшим весом, а это противоречит предположению о том, что дерево имеет минимальный вес.

Рис. 15.35 ЛЕММА 15.18. В дереве с минимальным весом два символа с минимальными частотами расположены на максимальном уровне. ДОКАЗАТЕЛЬСТВО. Если теорема не верна, то имеется символ а на уровне 1, с частотй 7; и символ Ь на уровне 1 с частотой Уз, где 1, > 1, и 7", > Д. В общий вес дерева эти два символа вносят величину 1,7; +1 7,. Если эти символы поменять местами, то их вклад в общий вес дерева составит 1,7; +1 7о Но 1,7, + 1,~1 — (1,Д + Я,) = 1,7, + 1.~) — 1,71 — Яг = = (1* -1.Н.)' — Л) > >О, поскольку 1, — 1, > О и 7", — 11 > О. Таким образом, 1гу, ч 1,7' > 1 7; +1 7„поэтому перестановка символов приводит к уменьшению веса дерева, что противоречит предположению о том, что дерево имеет минимальный вес. Теперь все готово для формулировки основной теоремы.

ТЕОРЕМА 15.20. Для заданного множества символов с соответствующими ча- стотами дерево Хаффмана является деревом с минимальным весом, ДОКАЗАТЕЛЬСТВО. Докажем теорему, используя индукцию по числу символов. Для двух символов, скажем, а и Ь, дерево Хаффмана изображено на рис. !5.36 и действительно является деревом с минимальным весом. Таким образом, теорема верна для п = 2. Предположим, что утверждение теоремы справедливо для дерева с и Л, символами. Пусть Т„.ь, — дерево минимального веса, содер- А жашее и + 1 символ. Предположим, что а и Ь с частотами )', и 7ь ЯвлЯютсЯ символами с самыми низкими частотами.

Тогда по лемме 15.18 они могут быть братьями на самом высоком уровне 1+1. Теперь удалим а и Ь из дерева и присвоим их родителю символ с с частотой 7„+ 7ь. Назовем это дерево Т„. Поскольку в де- реве только п символов, то по индуктивному предположению сушествует дерево ЛЕММА 15.19.

Существует дерево с минимальным весом, в котором два символа с наименьшими частотами имеют одного родителя. ДОКАЗАТЕЛЬСТВО. По лемме!5.17 каждый лист на максимальном уровне имеет брата. По лемме 15.18 оба символа с минимальным весом, к примеру, а и Ь, находятся на одном уровне. Если они не братья, то поскольку находятся на одном уровне, замена а на Ь не повлияет на вес дерева. РАЗДЕЛ 15.3. Взвешенные деревья 645 Хаффмана с минимальным весом с этими символами.

Назовем дерево Т„'. Поскольку Т„' имеет минимальный вес, то вес Т„' меньше или равен весу дерева Т„. Теперь заменим с с частотой г" + гь на родителя с сыновьями а и Ь, образуя дерево Т„'+,. Другими словам, для перехода от дерева Т„.ь1 к дереву Т„используется обратный процесс. Но это совпадает с построением дерева Хаффмана с и+1 символом, поскольку для построения дерева Хаффмана с и+ 1 символом следовало бы начать с а и Ь и образовать дерево с родителем, имеющим частоту у;+ ~в, так что если рассматривать с как представителя этого дерева, то построение дерева Хаффмана Т„' является продолжением дерева Хаффмана Т'~,.

Теперь имеются четыре дерева; деревья Хаффмана Т„' и Т„'ч,, где Т„' — дерево с минимальным весом, и деревья Т„и Т„ч, где Т„.ь, — дерево с минимальным весом. Мы перешли от дерева Т„' к дереву Т„'+, и от дерева Т„к дереву Т„+,, заменяя с с частотой г" + гь на вершины а и Ь с частотами г', и Гь и их родителя. Теперь рассмотрим, каким образом это влияет на вес дерева. При переходе от дерева Т„к дереву Т ~, вершина с с частотой 1 + гь, длиной 1, общим весом 1(Х* + Хь) заменяется вершиной а с частотой г"„длиной 1+ 1 и вершиной Ь с частотой Гь, длиной 1+ 1, общий вес которых равен У+1)+~ь(1+1) =Ц~.+1ь)+);+~в. Таким образом, увеличение веса дерева составило г" + гь.

Аналогично при переходе от дерева Т„' к дереву Т„'~, увеличение веса дерева также равно г" + гь. Поскольку вес дерева Т„' меньше или равен весу дерева Т„и увеличение веса при переходе от дерева Т„'ч, и Т„.ь1 одно и то же, то вес дерева Т„'~, меньше или равен весу Т„ч.м Таким образом, дерево Т„'ч, — дерево минимального веса. ° ° УПРАЖНЕНИЯ 1. Заданы следующие символы и их коды: а) закодируйте слово п1зсизз; б) закодируйте слово зиеев; в) декодируйте слово 101011111100110101101; г) декодируйте слово 11001001000101101010010. 646 ГЛАВА тб. Деревья 2. Заданы следующие символы и их коды: а) закодируйте слово тпаВгетатгса; б) закодируйте слово гпатглаЬ; в) декодируйте слово 11100101111000111001; г) декодируйте слово 100101110110010100111001.

3. Заданы следующие символы с их частотами и три множества кодов. Найдите вес каждого кода и выберите наиболее подходящий для компактного хранения данных. 4. Заданы следующие символы с их частотами и три множества кодов. Найдите вес каждого кода и выберите наиболее подходящий для компактного хранения данных. РКЗДЕЛ тдз. Взвешенные деревья 647 б. Заданы следующие символы с их частотами: а) постройте дерево Хаффмана; б) определите код Хаффмана; в) найдите вес кода; г) закодируйте слово сгаЬ; д) закодируйте слово Ьаг; е) декодируйте 1100111; ж) декодируйте 10011110. 6. Заданы следующие символы с их частотами; а) постройте дерево Хаффмана; б) определите код Хаффмана; в) найдите вес кода; г) закодируйте слово Ьгеая; д) закодируйте слово ЬагЬег; е) декодируйте 11011011000; ж) декодируйте 11110110111101101.

7. Заданы следующие символы с их частотами: а) постройте дерево Хаффмана; б) определите код Хаффмана; в) найдите вес кода; г) закодируйте слово егазег; д) закодируйте слово г1агяег. е) декодируйте 10010110001100; ж) декодируйте 0011011001111001. 8. Заданы следующие символы с их частотами: а) постройте дерево Хаффмана; б) определите код Хаффмана; в) найдите вес кода; г) закодируйте слово дйоз1; д) закодируйте слово сйоозе; е) декодируйте 100010010000111101; ж) декодируйте 10001001110111101; з) декодируйте 11100010000100110001. б4В ГЛАВА 15. Деревья 9.

Заданы следующие символы с их частотами: а) постройте дерево Хаффмана; б) определите код Хаффмана; в) найдите вес кода. 10. Заданы следующие символы с их частотами: а) постройте дерево Хаффмана; б) определите код Хаффмана. в) найдите вес кода; г) закодируйте слова тпооп1гуЫапдтозез; д) закодируйте слово Гооз1еяз. 11.

Заданы следующие символы с их частотами: а) постройте дерево Хаффмана; б) определите код Хаффмана; РЯЗДЕЛ 15.4. Обход бинарных деревьев 649 в) найдите вес кода; г) закодируйте слова еая1о7ГИеяипапйвеяГо7ГИегпооп; д) закодируйте слово ягеаГег. 12. Заданы следуюшие символы с их частотами: а) постройте дерево Хаффмана; б) определите код Хаффмана; в) найдите вес кода; г) закодируйте слова еаяГо7Яеяипапг1гиея1о7!Иетооп; д) закодируйте слова 1ГдИГяоий 13. Докажите теорему 15.14: В любом бинарном дереве путевые коды для ли- стьев дерева являются префиксным кодом.

15.4. ОБХОД БИНАРНЫХ ДЕРЕВЬЕВ В данном разделе рассматриваются три способа обхода бинарного дерева, при которых каждая вершина посещается в точности один раз. Внимание будет сосредоточено на деревьях, изображаюших арифметичесткие выражения, хотя такие обходы имеют также другое использование.

Сначала представим арифметические выражения с помощью деревьев, а затем рассмотрим способы их обхода. Деревья, изображающие арифметические выражения, обладают тем свойством, что все их внутренние вершины являются бинарными операторами. Рассмотрим выражение А+В. Соответствуюшее ему дерево изображено на рис. !5.37. А+В С+Р Рис. (5.33 Рис. 15.37 Воспользуемся нисходящим принципом обработки, который продемонстрируем на примере.

Рассмотрим выражение (А+ В) х (С+ П). Оно представляет собой произведение А+ В и С+ Р, поэтому сначала формируем дерево, изображенное на рис. 15.38. Далее, поскольку выражение А+  — это сумма А и В, а С+ Р— сумма С и Р, то мы формируем дерево, изображенное на рис. 15.39. 660 ГЛАВА 75. Деревья /' Е, Рис. /5.40 Рис. 15.39 Каждое арифметическое выражение, содержащее бинарный оператор, по сути является бинарной операцией над двумя арифметическими выражениями (которые могут и не содержать арифметические операции).

Начинаем с корня и, если выражение в вершине имеет вид Е1 о Ез, где о — бинарная операция над выражениями Е„и Ез, заменяем вершину деревом, изображенным на рис. 15.40. Повторяем тот же процесс для вершин Е, и Ез. Продолжаем действовать таким образом, пока не останется вершин, содержащих бинарные операции. Теперь покажем три способа обхода дерева, которое задает арифметическое выражение. В каждом случае используем команду обработать (и), где и — узел.

Оставим этот термин пока неопределенным, поскольку его значение будет зависеть от того, чего мы хотим достичь при прохождении вершин. Для наших целей достаточно рассмотреть обычную команду печати символа. Начнем с обхода дерева в центрированном порядке. При таком обходе мы обращаем процесс, использованный при создании дерева. Если задано дерево, изображенное на рис. 15.40, где о — бинарная операция над выражениями Е1 и Ез, обрабатываем (или печатаем) это как Е, о Ез. В результате получается выражение в инфиксной записи, как описано в разделе 5.5.

Характеристики

Тип файла
DJVU-файл
Размер
7,96 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6455
Авторов
на СтудИзбе
305
Средний доход
с одного платного файла
Обучение Подробнее