Cтраница 2
![]() |
Процедура кодирования Хаффмана. [16] |
Условимся теперь рассматривать каждое кодовое дерево как полное дерево, может быть, с некоторым числом В неиспользуемых концевых узлов, добавленных для полноты дерева. Ясно, что в оптимальном коде все неиспользуемые концевые узлы имеют ту же самую длину, что и самое длинное кодовое слово. Точно так же, меняя местами используемые и неиспользуемые концевые узлы, можно добиться того, чтобы неиспользуемые концевые узлы отличались лишь в последнем символе. Следовательно, оптимальное кодовое дерево должно иметь не более чем D - 2 неиспользуемых концевых узлов, так как если бы D - 1 неиспользуемых узлов группировались вместе, то соответствующее кодовое слово могло бы быть укорочено без нарушения свойства префикса. Число кодовых слов, сложенное с числом неиспользуемых узлов, имеет вид D т ( D - 1), это выражение однозначно определяет число неиспользуемых узлов полного дерева. Например, если D 3, то каждое полное дерево имеет нечетное число узлов. [17]
Рассмотрим алгоритм вычисления минимального кратчайшего пути для полного дерева отказов. [18]
Характеристическая функция, которая служит для отбрасывания тех поддеревьев полного дерева поиска, которые не содержат искомого решения. [19]
На примере с рис. 6.8 мы имеем дело с полным деревом кратчайших путей, поскольку целевая вершина G была добавлена к дереву последней. [20]
Нарисуйте дерево, образованное в результате удаления программой корня из полного дерева, состоящего из 31 узла. [21]
Выберем какой-либо узел порядка / гь допустим х1 ( в полном дереве в качестве первого концевого узла кодового дерева. Все узлы полного дерева любого порядка, большего или равного nt, еще можно использовать как концевые узлы кодового дерева, за исключением доли D - узлов, которые исходят из узла хх. [22]
Найдите дерево доказательства, которое не является полным, и укажите эквивалентное полное дерево доказательства. [23]
![]() |
Оптимальное разбиение взаимно определенных ветвей. [24] |
Сначала образуют лес / / - графа, который затем дополняют до полного дерева ( или леса) за счет z - ветвей. [25]
Если / - ветвей и взаимно определенных ветвей не достаточно для построения полного дерева ( или леса) графа, ввести необходимое число разомкнутых ( / - ветвей, параллельных z - ветвям. [26]
Приведенный только что пример синтеза можно рассматривать как ограниченное исследование определяемого посредством GI и S полного дерева выводов сверху вниз. Каждый отдельный путь в этом дереве, ведущий из исходного целевого утверждения GI к некоторому заключительному целевому утверждению на границе поиска, дает некоторую выводимую процедуру; это изображено на рис. VI. Данное исследование ограничено с двух сторон: ( а) граница поиска может продвигаться только на определенное расстояние вниз по дереву выводов и ( Ь) не выполняются шаги, на которых либо разбираются первичные компоненты множества z, либо появляется целевое утверждение, совпадающее с уже полученным ранее, либо вводятся множества, не имеющие к z никакого отношения. [27]
Из определения следует, что любой узел дерева является корнем некоторого поддерева, содержащегося в полном дереве. Число поддеревьев узла называют степенью узла. Узел называется концевым, если он имеет нулевую степень. Иногда концевые узлы называют листьями, а ребра - ветвями. Узел, не являющийся ни корнем, ни концевым узлом, называется узлом ветвления. [28]
В некоторых приложениях необходимо находить кратчайший путь между двумя точками, при этом остальные пути в полном дереве кратчайшего маршрута не важны Простой способ нахождения двухточечного кратчайшего пути ( point-to - point shortest path) состоит в том, чтобы вычислить полное дерево кратчайших путей с помощью алгоритмов расстановки или коррекции меток, а затем выбрать из дерева кратчайший путь между двумя точками. [29]
![]() |
Вычислим оценки для каждой из вершин. [30] |