Главная » Просмотр файлов » Структуры данных и алгоритмы

Структуры данных и алгоритмы (1021739), страница 99

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

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

УПРАВЛЕНИЕ ПАМЯТЬЮа) первый подходящий;б) самый подходящий.12.2. Рассмотрим следующий вариант динамической памяти, в котором "чистые"участки обозначают используемую память, а участки, помеченные буквами, —неиспользуемую, т.е. пустую.О100200300500Укажите последовательности запросов, которые можно удовлетворить, еслииспользовать стратегииа) первого подходящего, но не самого подходящего;б) самого подходящего, но не первого подходящего.*12.3. Допустим, что используется экспоненциальный метод близнецов с размерамиблоков 1, 2, 4, 8 и 16 в динамической памяти размером 16. Если поступает запрос на блок размером п при 1 < п < 16, то необходимо выделить блок разме1ром 2', где 2'" < п < 2'. Неиспользуемую часть блока (если таковая имеется)нельзя использовать для удовлетворения любого другого запроса.

Если нуженблок размером 2' при i < 4 и такого свободного блока в динамической памяти+1нет, то сначала находится блок размером 2' и расщепляется на две равные+1части. Если блока размером 2' также нет, тогда сначала находится и расщеп+2ляется свободный блок размером 2' , и т.д.

Если оказывается, что необходимсвободный блок размером 32, то следует признать, что удовлетворить поступивший запрос не удалось. В данном упражнении предполагается, что нельзяобъединять смежные свободные блоки в динамической памяти.Существуют последовательности запросов а ь а2, ... , а„, сумма которых меньше 16,причем последний запрос в таких последовательностях удовлетворить невозможно. Рассмотрим, например, последовательность 5, 5, 5.

Первый запрос приводит к расщеплению начального блока размером 16 на две части размером 8,причем одна из них используется для удовлетворения поступившего запроса.Оставшийся свободный блок размером 8 удовлетворяет второй запрос, но дляудовлетворения третьего запроса свободного пространства уже нет.Найдите последовательность а1( a2, ...

, ап целых чисел (необязательно одинаковых) из интервала от 1 до 16, сумма которых по возможности минимальна, но если эту последовательность рассматривать как последовательность запросов на блоки размеров а\, а^, ... , ап, то последний запрос удовлетворить невозможно. Поясните, почему эту последовательность запросовневозможно удовлетворить, а любую последовательность, сумма которойокажется меньше, можно.12.4. Рассмотрим задачу уплотнения памяти для блоков одинакового размера. Допустим, каждый блок состоит из поля данных и поля указателя.

Допустимтакже, что уже помечены все используемые в настоящее время блоки. Пустьэти блоки находятся в области памяти, расположенной между адресами а и Ь.Необходимо поменять местоположение всех блоков, занятых данными, так,чтобы они занимали непрерывный участок памяти, начиная с адреса а.

Перемещая блок, следует помнить, что необходимо скорректировать поле указателялюбого блока, указывающее на перемещаемый блок. Разработайте алгоритмуплотнения таких блоков.12.5. Рассмотрим массив размера п. Разработайте алгоритм циклического сдвигапротив часовой стрелки всех элементов в таком массиве на k позиций, используя только фиксированную дополнительную память, объем которой независит от k и п. Совет. Проанализируйте, ~что произойдет, если переставитьв обратном порядке первые k элементов, последние п - k элементов и, наконец, весь массив.УПРАЖНЕНИЯ36712.6. Разработайте алгоритм замены вложенной строки символов у, принадлежащейстроке хуг, на другую вложенную строку у', используя для этого как можноменьшее количество дополнительной памяти.

Какова временная сложность(время выполнения) этого алгоритма и сколько для него необходимо памяти?12.7. Напишите программу получения копии заданного списка. Какова временнаясложность этого алгоритма и сколько для него необходимо памяти?12.8. Напишите,программу, которая проверяла бы идентичность двух списков.Какова временная сложность этого алгоритма и сколько для него необходимо памяти?12.9. Реализуйте алгоритм Морриса для уплотнения динамической памяти (см.раздел 12.6).* 12.10. Разработайте схему выделения памяти применительно к ситуации, когда память выделяется и освобождается блоками длиной 1 и 2. Перечислите преимущества и недостатки такого алгоритма.Библиографические примечанияЭффективное управление памятью — центральная проблема, которую решаютразработчики многих языков программирования, в том числе Snobol [30], Lisp [74],APL [56] и SETL [98].

В [80] и [86] обсуждают методы управления памятью в контексте компиляции языков программирования.Выделение памяти по методу близнецов было впервые описано в [62]. Методблизнецов с числами Фибоначчи рассмотрен в работе [48].Изящный алгоритм маркировки, предназначенный для использования в процедуре чистки памяти, был разработан Питером Дойчем (Peter Deutsch) [25], а такжеШорром и Уэйтом (Schorr and Waite) [97]. Схема уплотнения динамической памяти,изложенная в разделе 12.6, заимствована из статьи [77].В работах [90] и [91] анализирует объем памяти, требующийся для работы алгоритмов динамического выделения памяти.

В [92] представлен алгоритм ограниченного рабочего пространства (bounded workspace algorithm) для копирования циклических структур. Решение упражнения 12.5 можно найти в [32].368ГЛАВА 12. УПРАВЛЕНИЕ ПАМЯТЬЮСписок литературы1. Адельсон-Вельский Г. М., Ландис Е. М. (1962). Один алгоритм организации информации. Докл. АН СССР, 146, с. 263-266.2. Aho, А. V., М. R. Garey, and J.

D. Ullman (1972). The transitive reduction of adirected graph, SIAM J. Computing 1:2, pp. 131-137.3. Aho, A. V., J. E. Hopcroft, and J. D. Ullman (1974). The Design and Analysis ofComputer Algorithms, Addison-Wesley, Reading, Mass. (Русский перевод: Ахо А.,Хоркрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М., "Мир", 1979.)4.

Aho, А. V., and N. J. A. Sloane (1973). Some doubly exponential sequences,Fibonacci Quarterly, 11:4, pp. 429-437.5. Aho, A. V., and J. D. Ullman (1977). Principles of Compiler Design, AddisonWesley, Reading, Mass.6. Bayer, R., and E. M. McCreight (1972). Organization and maintenance of largeordered indices, Acta Informatica 1:3, pp. 173-189.7. Bellman, R. E. (1957). Dynamic Programming, Princeton University Press,Princeton, N. J. (Русский перевод: Беллман Р. Динамическое программирование. — М., ИЛ, 1960.)8. Bentley, J. L.

(1982). Writing Efficient Programs, Prentice-Hall, Englewood Cliffs, N. J.9. Bentley, J. L., D. Haken, and J. B. Saxe (1978). A general method for solvingdivide-and-conquer recurrences, CMU-CS-78-154, Dept. of CS, Carnegie-MellonUniv., Pittsburg, Pa.10. Berge, C. (1957). Two theorems in graph theory, Proc. National Academy ofSciences 43, pp. 842-844.11.

Berge, C. (1958). The Theory of Graphs and its Applications, Wiley, N. Y. (Русскийперевод: Берж С. Теория графов и ее применение. — М., ИЛ, 1962.)12. Birtwistle, G. М., O.-J. Dahl, В. Myhrhaug, and К. Nygaard (1973). SIMULABegin, Auerbach Press, Philadelphia, Pa.13. Blum, M., R. W. Floyd, V. R. Pratt, R. L. Rivest, and R. E. Tarjan (1972). Timebounds for selection, J. Computer and System Sciences 7:4, pp. 448-461.14. Boruvka, 0. (1926).

On a minimal problem, Prace Moraske Pridovedecke Spolecnosti3:3, pp. 37-58.15. Brooks, F. P. (1974). The Mythical Man Month, Addison-Wesley, Reading, Mass.16. Carter, J. L., and M. N. Wegman (1977). Universal classes of hash functions, Proc.Ninth Annual ACM Symp. on Theory of Computing, pp. 106-112.17. Cheriton, D., and R. E. Tarjan (1976). Finding minimum spanning trees, SIAM J.Computing 5:4, pp. 724-742.18. Cocke, J., and F. E. Allen (1976). A program data flow analysis procedure, Comm.ACM 19:3, pp.

137-147.19. Coffman, E. G. (ed.) (1976). Computer and Job Shop Scheduling Theory, John Wileyand Sons, New York.20. Comer, D. (1979). The ubiquitous B-tree, Computing Surveys 11, pp. 121-137.21. Cooley, J. M., and J. W. Tukey (1965). An algorithm for the machine calculation ofcomplex Fourier series, Math. Сотр. 19, pp. 297-301.22. DBTG (1971). CODASYL Data Base Task Group April 1971 Report, ACM, New York.M23. Demers, A., and J.

Donahue (1979). Revised report on RUSSELL, TR79-389, Dept.of Computer Science, Cornell Univ., Ithaca, N. Y.24. Deo, N. (1975). Graph Theory with Applications to Engineering and ComputerScience, Prentice-Hall, Englewood Cliffs, N. J.25. Deutsch, L. P., and D. G. Bobrow (1966). An efficient incremental automaticgarbage collector, Comm.

ACM 9:9, pp. 522-526.26. Dijkstra, E. W. (1959). A note on two problems in connexion with graphs,Numerische Mathematik 1, pp. 269-271.27. Edmonds, J. (1965). Paths, trees, and flowers, Canadian J. Math 17, pp. 449-467.28. Even, S. (1980). Graph Algorithms, Computer Science Press, Rockville, Md.29. Even, S., and O.

Kariv (1975). An O(n2'5) algorithm for maximum matching ingeneral graphs, Proc. IEEE Sixteenth Annual Symp. on Foundations of ComputerScience, pp. 100-112.30. Farber, D., R. E. Griswold, and I. Polonsky (1964). SNOBOL, a string manipulationlanguage, J.ACM 11:1, pp. 21-30.31. Fischer, M. J. (1972). Efficiency of equivalence algorithms, in Complexity ofComputer Computations (R. E.

Miller and J. W. Thatcher, eds.), pp. 153-168.32. Fletcher, W., and R. Silver (1966). Algorithm 284: interchange of two blocks ofdata, Comm. ACM 9:5, p. 326.33. Floyd, R. W. (1962). Algorithm 97: shortest path, Comm. ACM 5:6, p. 345.34. Floyd, R. W. (1964). Algorithm 245: treesort 3, Comm. ACM 7:12, p. 701.35.

Floyd, R. W., and A. Smith (1973). A linear time two-tape merge, Inf. Processingletters 2:5, pp. 123-126.36. Ford, L. R., and S. M. Johnson (1959). A tournament problem, Amer. Math.Monthly 66, pp. 387-389.37. Frazer, W. D., and A. C. McKellar (1970). Samplesort: a sampling approach tominimal tree storage sorting, J. ACM 17:3, pp. 496-507.38. Fredkin, E. (I960).

Trie memory, Comm. ACM 3:9, pp. 490-499.39. Friend, E. H. (1956). Sorting on electronic computer systems, J. ACM 3:2, pp. 134-168.40. Fuchs, H., Z. M. Kedem, and S. P. Uselton (1977). Optimal surface reconstructionusing planar contours, Comm. ACM 20:10, pp. 693-702.41. Garey, M.

R., and D. S. Johnson (1979). Computers and Intractability: a Guide tothe Theory of NF'-Completeness, Freeman, San Francisco. (Русский перевод: ГэриM., Джонсон Д.С. Вычислительные машины и трудноразрешимые задачи. — М.,"Мир", 1982.)42. Geschke, С. M., J. H. Morris, Jr., and E. H. Satterthwaite (1977).

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

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

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

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