AOP_Tom1 (1021736), страница 124

Файл №1021736 AOP_Tom1 (Полезная книжка в трёх томах) 124 страницаAOP_Tom1 (1021736) страница 1242017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

[Замечание. На самом деле "ОР" заменяется точкой в языке РЬ/1> а порядок является реверсивным. Так, вместо 'СС ОР АА" в языке Р1./1 используется обозначение "АА. СС", но для данного упражнения зто несущественно.) Покажите, как можно модифицировать алгоритм В, чтобы он удовлетворял соглашениям, принятым для языка РЬ/1, 7. (15) Что означает в языке СОВОЬ команда ИОЧЕ СОЕБЕБРОМОТМО БАЬЕБ ТО РОЕСЕАЯЕЯ по отношению к структуре данных (1)? 8. (10] При каких условиях команда МОЧЕ СОБЕЕБРОМО1МО и ТО 11 означает то же самое, что и команда ИОЧЕ и ТО 5, в соответствии с данным в этом разделе определением? 9. [А/33) Докажите корректность алгоритма С.

10. [33) (а) Как можно было бы выполнить проверку условия МАМЕ(Б) = Рь на шаге Вб, если бы в узлах таблицы данных не было связи ИАМЕ? (Ь) Как можно было бы выполнить проверку МАМЕ(Р) = МАМЕ(Ц) на шаге СЗ, если бы в узлах таблицы данных не было связи МАИЕ? (Предположим, что все другие связи присутствуют, как описано в этом разделе.) ь 11. [33) Какие дополнительные связи или изменения в стратегии создания алгоритмов могли бы ускорить работу алгоритма В или С? 12.

[35) (Задача Д. БЬ Дама (1). МЬ РаЬ|п) ) Рассмотрим представление таблицы данных в последовательных ячейках памяти с помощью всего двух связей для каждого элемента данных: РБЕЧ (так же, как в данном разделе); БСОРЕ (связь с последним простейшим элементом в данной группе). Получим БСОРЕ(Р) = Р тогда и только тогда, когда МОВЕ(Р) представляет собой простейший элемент. Например, таблица данных (Б) будет заменена таким представлением. РБЕУ БСОРЕ А1: Л 04 ВЗ: Л Э7 С7: Л С7 07: Л П7 ЕЗ: Л ЕЗ РБЕУ гЗ; Л 04: Л Н1: Л г5: гЗ 08: 04 БСОРЕ 04 04 09 08 08 РБЕУ БСОРЕ В5: ВЗ В5 С5: С7 09 Е9: ЕЗ Е9 П9: П7 09 09: 08 09 (Ср.

с (5) из раздела 2.3,3.) Обратите внимание, что БОБЕ(Р) является частью дерева под узлом МООЕ(Ц) тогда и только тогда, когда Ц < Р < БСОРЕ(Ц) . Создайте алгоритм, который выполняет функции алгоритма В, если таблица данных имеет такой формат. ° 13. ]ээ] Предложите вместо алгоритма А другой алгоритм для работы с таблицей данных с форматом, описанным в упр, 12. э 14.

]ЯБ] Предложите вместо алгоритма С другой алгоритм для работы с таблицей данных с форматом, описанным в упр. 12, 15. ]Бб] (Задача Дэвида С. Вайса (ПатЫ Б. ЯЪе),) Измените алгоритм А твк, чтобы для стека не использовалось никакое дополнительное пространство. [Укаэаиие. Поля Б18 всех узлов с указателями в стеке в этой формулировке равны Л,] 2,6, ДИНАМИЧЕСКОЕ ВЫДЕЛЕНИЕ ПАМЯТИ В пгидыдущих Рлздкллх было показано, как использование связей приводит к тому, что структурхь данных могут располагаться в памяти непоследовательно; несколько таблиц могут независимо расти и уменьшаться в области общего пула памяти. Однако мы всегда молчаливо предполагали, что узлы имеют один и тот же размер, т.

е, каждый узел занимает некоторое фиксированное количество ячеек памяти, Для очень многих приложений можно найти компромиссное решение, при котором в действительности используется один размер узле для всех структур (например, см. упр. 2). Вместо максимального размера (и потери памяти в малых узлах) зачастую выбирается меньший размер узла и применяется метод, который можно назвать классической филасофиеп связанной памлюш "Если для размещения информации в одном месте не хватает памяти, разместим ее в другом месте и установим с ней связь", Однако для очень большого количества приложений использовать единый размер узлов неразумно, ведь частп необходимы узлы различных размерпв, разделяющие общую область памяти, т, е. нужны алгоритмы для резервирования и освобождекия блоков переменного размера в большой области памяти, причем зти блоки должны састонть из последовательных ячеек памвти, Такие технологии, в целом, незываютси алгоритмами дниа иическаео еыдахеннл памяти.

Зачастую в моделирующих программах требуется динамическое выделение памяти для узлов весьма малого размера (скажем, от одного до десяти слон), В других случаях, чаще всего — в операционных системах, мы, в первую очередь, работаем с довольно болыпнми блоками информации, Такие "точки зрения" приводят к несколько отличающимся подходам к динамическому выделению памяти, хотя в этих методах много общего. Чтобы унифицировать терминологию рассматриваемых подходов, в данном разделе дли обозначения множества последовательных ячеек памяти вместо термина узел будем использовать термины блек и облаешь.

Некоторые авторы начиная примерно с 1076 года называют пул доступной паня тн кучей (Ьеар), однако в настоящем издании этот термин используется только в более традиционном смысле, связанном с приоритетными очередями (см, раздел 6,2.3), А. Резервирование. На рис, 42 представлена типичнаи карта памлгпи, или "шахматная доска",— диаграмма, отображающая текущее состояние некоторого пула памяти, В приведенном примере оиа разбита на 63 блока, которые "зарезервированы" (гееегуег)), т. е. используются вперемешку с 21 "свободным" (?гее) или "доступным" (аувйаЫе) блокам, которь1й не используется, Память компьютера спустя некоторое время работы системы динамическогп выделения, вероятно, будет выглядеть примерно так.

Нан~а первая задача состоит в поиске ответов на два вопроса, а) Как можно представить такое разбиение свободной памяти в компьютере? Ь) Какой алгоритм при данном распределении свободной памяти достаточно хорош для поиски блока из н последовательных свободных ячеек и его резервировании?. Ответ на вопрос (а) кроется, конечно, в содержании списка свободной памяти в некотором месте; почти всегда для зтай цели лучше всего испольэовать ту самую свободную памнть, сведения о которой содержатся в списке (исключением иэ зтогь 0 !опп гппо зооо хппа босо попо тоаа вапа аааа 40000 ааааа ааааа 40000 ааааа ааааа 100000 100000 арезерннронаннан облагты ! 4 Свободнее область; ! ! Рис 42. Кврта памяти.

првиилв может быть дисковви или другая пвмять с различным временем доступв; в таком случае лучше иметь квтвлог доступного пространства отдельно). Следовательно, можно облаешь е44есте доступные сегменты: первое слово амидой свободной области памяти может содержать размер етого блока и адрес следу. ющей свободной области. Свободные блоки могут быть связаны в порядке возрастания илн убыввния по размерам, адресам пвмяти либо в произвольном порядке, Рассмотрим, например, рнс. 42, нв котором иллюстрируется состояние памяти объемом 131072 слова, адресуемых от 0 до 131071.

Чтобы снизить свободные блохи в порядке их вдресов, потребуется переменнвя А7А1(н уквзывающвя нв первый свободный блок (в пишем случке АУА11. рввнв О) ! другие же блоки будут предстввлены следующим обрезом. Адрес 3123 11НН О 101 632 632 42 1466 (17 подобных записей) 73664 1909 77619 77319 33663 Л (Специвльный маркер для последней свяви) Следоввтельно, ячейки 0-100 образуют первый свободный блок; после звнятых облвстей в ячейюпс 101-290 н 291-631, поквзвнных нв рнс, 42, имеется свободное про. стрвнство с адресами 632-673; н т.

д, По поводу вопроса (Ь) понятно, что, если иеобходямв облвсть размером и посо!ь доввтсльных слов, нужно выполнить поиск некоторого блокв нз 4п ) и доступных слов и уменьшить его размер до т — и. (Кроме того, при т = и слебует уделить двииый блок из списки свободных.) В наличии может быть несколько блоков рвзме)юм и или более ячеек, в потому один вопрос превращается в другой: "Конел !вменив облвсть должна быть выделеив7н. Двв основных ответи нв втот вопрос нвпрвшиввются сами собой. можно использовать метод неилучшеео ппдяодлогеео или метод карпово яодяодлщееа.

Э первом случае мы выбирвем облвсть с 4п ячейхвми памяти, где 4п — паимгньцше знвчеиие из имеющихся, не меньшее и, Для твкого выбора может потребоваться поиск по всему списку свободного прострвнствв. Метод первого подходящего, с другой стороны, просто вгнбиреет первую полившуюся облвсть размером не менее и слов. Исторически чаще использовался метод наилучшего подходящего, так как более разумным представляется подход, сохраняющий ббльшие свободные области вна потом", когда онн могут понадобиться, Однако имеется ряд претензий к этому методу: он достаточно медленный, поскольку требует длинного полного поиска, и если он не намного лучше метода первого подходящего в других отношениях, то временем выделения памяти при оценке метода пренебречь нельзя. Еще более важно то, что метод лучшего подходящего имеет тенденцию к увеличению количества блоков свободной памяти малого размера, что обычно нежелательно.

Существует ряд ситуаций, в которых метод первого подходящего превосходит метод наилучшего подходящего. Так, например, предположим, что есть толь(со две свободные области памяти размером 1300 и 1200 и три последовательных запроса на выделение блоков памяти размером 1000, 1100 и 250. Запрос блока раг нером Доступные области, Доступные области, метод первого метод наилучшего подходящего подходящего 1300, 1200 300, 1200 300, 100 50, 100 1300, 1200 1300, 200 200, 200 Нужного блока нет 1000 1100 250 (Противоположный пример приведен в упр. 7.) Поскольку ни один метод явно не превосходит другой, можно порекомендовать метод первого подходящего*. * Видимо, именно из-за отсутствия явного превосходства какого-лабо а~стола над другим программисту во времена ВОЯ предоставлялось право (хотя и не рекомендовалось) изменять стратегию выделения памяти операнионной системой при помощи функции бгв прерывания 21Ь путем выбора метода первого подходящего, лучшего подходягнего или последнего подходянсего (включая в более поздних версиях указание на возможность использования верхней (Ысй) памяти).

Прим. перев. Алгоритм А (Метод первого подходящего). Пусть АЧА11. указывает на первый доступный блок памяти, и предположим, что каждый свободный блок с адресом Р имеет два поля; Я12Е(Р) количество слов в блоке и 1.1ИК(Р) — указатель на следующий свободный блок. Последний указатель равен Л (что указывает на завершение списка блоков свободной памяти). Алгоритм находит и выделяет блок размером И слов (или сообщает о невозможности выделения запрошенной памяти). А1. [Инициализация.[ Установить Ц +- 1.0С(АЧА11.).

(Везде в алгоритме используются два указателя, Ц и Р, которые, вообще говоря, связаны соотношением Р = 1.1ИК(Ц). Мы полагаем, что 11ИК(1.0С(АЧА11.) ) = АЧА11.) А2. [Конец списка?[ Установить Р < — 11ИК(Ц). Если Р = Л, алгоритм завершается неудачно и блок размером И последовательных гзов не может быть выделен. АЗ. [Достаточен ли размер блока?) Если Я12Е(Р) > И, перейти к шагу А4; в противном случае установить Ц +- Р и вернуться к шагу А2. А4. [Выделение блока.) Установить К с — Я12Е(Р) — И.

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

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

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

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