Главная » Просмотр файлов » 1626435697-9d9ede204f9baad60159c2d6531787c7

1626435697-9d9ede204f9baad60159c2d6531787c7 (844297), страница 33

Файл №844297 1626435697-9d9ede204f9baad60159c2d6531787c7 (Хопкрофт, Ульман 1979 - Построение и анализ вычислительных алгоритмов) 33 страница1626435697-9d9ede204f9baad60159c2d6531787c7 (844297) страница 332021-07-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Наконец, полагаем счетчик числа узлов объединенного дерева равным сумме счетчиков для Т„и Т,. Случай 2. СЧЕТ(Т,)(СЧЕТ(Т„), Здесь вычисляется ГЛУБИНА(о), преобразуется узел о' в сына узла г' и ВЕС [г'1 — ВЕС [г']+ ГЛУБИНА(и) + 1; ВЕС [о'] -ВЕС [о') — ВЕС [г']; СЧЕТ(Т,) — СЧЕТ(Т,) + СЧЕТ(Т,). Итак, 0(п) операций СВЯЗАТЬ и НАЙТИ ГЛУБИНУ можно выполнить за время 0(пб(п)). Приложение 3. Эквивалентность конечных автоматов Детерминированным конечным автоматом называется машина, распознающая цепочки символов.

Она имеет входную ленту, раз- битую на клетки, головку на входной ленте (входную головку) и управляющее устройство с конечным числом состояний (рис. 4.24). Конечный автомат М можно представить в виде пятерки (5, 1, 6, в„г), где 1) 5 — множество состояний управляющего устройства, 2) 1 — входной алфавит (каждая клетка входной ленты содержит символ из 1), гл. с ствнктнгы данных для задач с множвствлми аиэатиая .мила эивяялягм /юаелээ Рнс. 4.24.

Конечный автомат. 3) 6 — отображение из Як( в 5 (если 6(з, а)=з', то всякий раз, когда М находится в состоянии з, а входная головка обозревает символ а, М сдвигает входную головку вправо и переходит в состояние э'), 4) э, — выделенное состояние в 5, называемое начальным, 5) Р— подмножество в о, называемое множеством допускаю- и4их (или заключительных) октояний.

Пусть 1а — множество цепочек (слов) конечной длины, состоящих из символов алфавита 1. В 1а включается и пустая цепочка з. Продолжим 6 до отображения из Ях1а в Я: 1) 6(з, е)=з, 2) 6(з, ха)=6(6(э, х), а) для всех хЕ1а и аЕ1. Входная цепочка х допускаетея автоматом М, если 6(э„х) Е Р. ,Чзыком 1, (М), допускаемым автоматом М, называется множество всех цепочек, допускаемых М. Более подробное введение в теорию конечных автоматов изложено в равд. 9.1.

Два состояния з, и з, считаются экзивалентныии, если для каждого х Е Ра состояние 6 (э„х) будет допускающим тогда и только тогда, когда 6(э„х) — допускающее состояние. Два конечных автомата М, и М, считаются эквивалентными, если 1, (М,)=1, (М,). Мы покажем здесь, что с помощью алгоритма ОБЪЕДИНИТЬ вЂ” НАЙТИ можно распознать эквивалентность двух конечных автоматов М,= (5„1, 6„з„Р,) и М,= (5„1, 6„ э„Р,) за 0(пб(п)) шагов, где п=Щ1+Щ(. Отношение эквивалентности двух состояний обладает важным свойством: если два состояния з и э' эквивалентны, то для всех входных символов а состояния 6 (э, а) и 6 (э', а) также эквивалентны. Кроме того, благодаря наличию пустой цепочки, никакое допускающее состояние не может оказаться эквивалентным недопускающему.

Таким образом, если допустить, что начальные состояния з, и э, автоматов М, и М, эквивалентны, то можно вывести другие пары эквивалентных состояний. Если в одну нз таких пар попадет допускающее состояние вместе с недопускающим, то з, н з, были неэквивалентными.

Если же это не произойдет, то верно обратное ка. ппиложкиия и овожцнния алгопитма овъндинить — плати Ьеп)п СПИСОК вЂ” (з„з,); НАБОР— 8; 1ог зб5т()5, до добавить (з) в НАБОР; сопппеп1 Мы только что образовали исходные множества для каждого состояния из 5,05,; тнЬ11е есть пара (з, а'), входящая в СПИСОК бо Ьей(п удалить (з, з') из множества СПИСОК; пусть А и А' обозначают НАЙТИ(з) и НАЙТИ(з') соответственно; И А ФА' 1Ьеп Ьея)п ОБЪЕДИНИТЬ (А, А', А); 1ог а Е! бо добавить (6(з, а), 6(з', а)) в СПИСОК епп епд епд Рис. 4.25. Алгоритм для нахождения множеств вквивалентиык состояний в пред. положении, что аг и аа эквивалентны.

Чтобы узнать, эквивалентны ли два конечных автомата М,= = (5ь 7, 6о зь гг) и М,=(5„1, б„з„ра), мы поступаем так: 1. С помощью программы иа рис. 4.26 находим все множества состояний, которые должны быть эквивалеитиыми, если эквивалеитиы з, и з,. СПИСОК содержит такие пары состояний (з, з'), что з и з' оказались эквивалентными, а следующие за ними состояиия (6(з, а), 6(з', а)) еще не рассматривались.

Вначале СПИСОК содержит только пару (зь з,). Чтобы найти множества эквивалентиых состояний, программа применяет алгоритм объединения иепересекающихся множеств. НАБОР представляет некоторое семейство множеств. Вначале каждое состояние из 5, В 5, образует одно- элементное множество. (Без потери общиости можно считать, что множества 5, и 5, ие пересекаются.) Затем всякий раз, когда з и з' оказываются эквивалентными, содержащие их множества А и А', входящие в НАБОР, сливаются, и новое множество получает имя А.

2. После выполнения этой программы множества, входящие в НАБОР, представляют разбиение множества 5,()5, иа блоки гл. з. ствгктувы двнных для злдлч с множествами состояний, которые должны быть эквивалентными. М, и М, эквивалентны тогда и только тогда, когда никакой блок ие содержит допускающего состояния вместе с недопускающим. Время работы этого алгоритма (как функция от числа состояний л=Щ~+115,11) определяется в основном работой алгоритма объединения множеств.

Операций ОБЪЕДИНИТЬ может быть не более и — 1, поскольку каждая такая операция уменьшает на единицу число множеств, входящих в НАБОР, а вначале было только п множеств. Число операций НАЙТИ пропорционально числу пар, помещенных в СПИСОК. Это число не больше и~~1~~, так как всякая пара, кроме начальной (зь з,), попадает в СПИСОК только после операции ОБЪЕДИНИТЬ. Таким образом, при постоянном размере входного алфавита на распознавание эквивалентности конечных автоматов М, и М, тратится время 0(п0(л)). 4.9.

СХЕМЫ СБАЛАНСИРОВАННЫХ ДЕРЕВЬЕВ При решении ряда важных классов задач, аналогичных задаче ОБЪЕДИНИТЬ вЂ” НАЙТИ, мы, по-видимому, вынуждены вернуться к способам, при которых последовательность из и операций выполняется за время 0(л 1ойп) (в худшем случае). В один такой класс входят задачи, в которых последовательность из операций ПРИНАДЛЕЖАТЬ, ВСТАВИТЬ и УДАЛИТЬ выполняется в случае, когда допускается гораздо больше элем итон, чем используется на самом деле. В этом случае нельзя выбрать элемент, обращаясь прямо в массив указателей.

Надо применять расстановку или дерево двоичного поиска. Если а элементов уже вставлены, то в методе расстановки один выбор осуществляется за постоянное время в среднем и 0(п) в худшем случае. Дерево двоичного поиска дает среднее время 0 (1ой и) на один выбор, но в худшем случае может тоже дать плохое время выбора, если множество имен изменяется. Если же просто добавлять имена к дереву, не имея никакого механизма для поддержания его сбалансированности, то можно в результате придти к дереву с а узлами, глубина которого близка к и.

Поэтому в худшем случае производительность дерева двоичного поиска будет 0(а) шагов на операцию. Методом, изложенным в этом разделе, можно уменьшить сложность в худшем случае до 0(1ойп) шагов на операцию. Другой класс задач, требующих 0(п!ода) времени, образуют задачи выполнения последовательности из и операций, включакхцих ВСТАВИТЬ, УДАЛИТЬ и М1Н, в префиксном режиме. Еще один, третий, класс задач возникает, когда нужно представлять упорядоченные списки и уметь сцеплять и расцеплять их. В настоящем разделе мы познакомимся с техникой, позволяющей выполнять в префиксном режиме последовательности, содер- ° Фз Св.

СХЕМЫ СБАЛАНСИРОВАННЫХ ДЕРЕВЬЕВ жащие важные подмножества семи основных операций иа множествах, введенных в равд. 4.1. Структурой данных, лежащей в основе метода, является сбалансированное дерево, под которым мы понимаем дерево с высотой, приблизительно равной логарифму числа его узлов. Вначале сбалансированное дерево строится легко. Трудно не дать ему в процессе выполнения последовательности операций ВСТАВИТЬ и УДАЛИТЬ превратиться в несбалансированное.

Например, если периодически не делать перебалансировку, то при выполнении последовательности операций УДАЛИТЬ, которые удаляют узлы только из левой части дерева, получается дерево, смещенное вправо. Известно много способов перебалансировки дерева в случае необходимости. Некоторые из них оставляют структуру дерева достаточно гибкой, так что число узлов в дереве высоты й может изменяться от 2" до 2"+' или 3". В них позволяется по меньшей мере удвоить число узлов в поддереве, прежде чем что-то менять выше его корня. й4ы обсудим два метода этого рода, называемые методами 2-3- деревьев и АВЛ-деревьев. Алгоритмы, работающие с 2-3-деревьями, понять легче, и сейчас мы обсудим их.

Алгоритмы с АВЛ- деревьями похожи на них, и потому вынесены в упражнения. Определение. 2-3-деревом называется дерево, в котором каждый узел, не являющийся листом, имеет двух или трех сыновей, а длины всех путей из корня в листья одинаковы. Заметим, что дерево, состоящее из единственного узла, является 2-3-деревом. На рис. 4.26 приведены два 2-3-дерева с шестью листьями.

В следукицей лемме показана связь числа узлов и числа листьев в 2-3-дереве с его высотой. Лемма 4.6. Пусть Т будет 2-3-деревом высоты й. Число узлов дерева Т заключено между 2"+' — 1 и (ЗА+4 — Ц!2, а число листьев— между 2" и 3". Д о к а з а те л ь а т в о, Элементарная индукция по й.

С! Ряс. 4.26. 2-3.деревья, гл 4. стгуитуьы длнных для задач с множествами Линейно упорядоченное множество 5 можно представить 2-3- деревом, приписав его элементы листьям дерева. Обозначим элемент, приписанный листу 1, через Е(1). Существуют два основных метода приписывания элементов листьям; какой из них применить, зависит от рассматриваемой задачи. Если допускается элементов гораздо больше, чем на самом деле используется, и дереву предстоит быть словарем, то, вероятно, лучше приписывать элементы в порядке возрастания слева направо. В каждом узле и, не являющемся листом, нам потребуется еще два данных: Е (в) и М (о).

Е )и) — это наибольший элемент множества 5 в поддереве, корнем которого служит самый левый сын узла гл М(п) — это наибольший элемент множества 5 в поддереве, корнем которого служит второй сын узла и (см. рис. 4.26). Значения Е и М, приписанные узлам, позволяют искать элемент, начиная с корня, способом, аналогичным двоичному поиску. Время обнаружения произвольного элемента пропорционально высоте дерева. Поэтому операцию ПРИНАДЛЕЖАТЬ можно выполнить на множестве из и элементов за время 0(1ояа), если представить его в виде 2-3-дерева такого рода. Во втором методе приписывания элементов листьям на порядок, в котором приписываются эти элементы, не налагается никаких ограничений. Метод особенно полезен для реализации операции ОБЪЕДИНИТЬ.

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

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

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

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