Составители:
Рубрика:
ПРИМЕЧАНИЯ И БИБЛИОГРАФИЧЕСКИЕ УКАЗАНИЯ
Материал, изложенный в учебном пособии, на протяжении ряда лет был
опробован при выполнении лабораторных и курсовых работ по отдельным
разделам учебных дисциплин «Программирование» (линейные списки, иногда
– иерархические списки) и «Алгоритмы и структуры данных» (иерархические
списки, стеки, очереди, деки, деревья и леса) для специальностей 073000 –
«Прикладная математика» , 220400 – «Программное обеспечение вычисли-
тельной техники и автоматизированных систем» и направлений 552800 и
644600 – «Информатика и вычислительная техника» и 510200 – «Прикладная
математика и информатика». Классические книги [2, 10, 16], в которых рас-
сматриваются основные динамические структуры данных в связи с разработ-
кой эффективных алгоритмов, в большей степени ориентированы на алгорит-
мический аспект проблемы. Известные книги Н.Вирта [5, 6] ориентированы
на программирование эффективных алгоритмов, но в меньшей степени затра-
гивают технологию программирования. Используемая в пособии идеология
абстрактных типов данных, основанная на выделении этапов спецификации,
представления и реализации динамических структур данных, представлена в
той или иной форме в [7, 8, 11, 12, 13, 14, 15]. В оригинальном учебном курсе
[11] фактически последовательно реализован именно такой подход, включая
идею реализации одних структур данных на базе других. Более формальное
изложение вопросов, связанных со спецификацией, представлением и реали-
зацией структур данных, можно найти в [8] и в цитированной там литературе.
Материал по рекурсивной обработке списков из 1.6 и 1.7 может рассмат-
риваться как "мостик" в функциональное программирование. На абстрактном
уровне эти вопросы хорошо изложены в [18, 19], а основы реализации иерар-
хических списков на Паскале можно найти в [1, 4].
При рассмотрении стека, очереди и дека мы в значительной степени опи-
рались на [3, 11, 13] и на статью К.Хоора в [7].
Дополнительную информацию по программированию деревьев можно
найти в [10, 13, 15, 20].
В качестве основных источников заданий для упражнений использовались
[10, 13, 17]. Дополнительно можно рекомендовать [9].
66
ПРИМЕЧАНИЯ И БИБЛИОГРАФИЧЕСКИЕ УКАЗАНИЯ Материал, изложенный в учебном пособии, на протяжении ряда лет был опробован при выполнении лабораторных и курсовых работ по отдельным разделам учебных дисциплин «Программирование» (линейные списки, иногда – иерархические списки) и «Алгоритмы и структуры данных» (иерархические списки, стеки, очереди, деки, деревья и леса) для специальностей 073000 – «Прикладная математика» , 220400 – «Программное обеспечение вычисли- тельной техники и автоматизированных систем» и направлений 552800 и 644600 – «Информатика и вычислительная техника» и 510200 – «Прикладная математика и информатика». Классические книги [2, 10, 16], в которых рас- сматриваются основные динамические структуры данных в связи с разработ- кой эффективных алгоритмов, в большей степени ориентированы на алгорит- мический аспект проблемы. Известные книги Н.Вирта [5, 6] ориентированы на программирование эффективных алгоритмов, но в меньшей степени затра- гивают технологию программирования. Используемая в пособии идеология абстрактных типов данных, основанная на выделении этапов спецификации, представления и реализации динамических структур данных, представлена в той или иной форме в [7, 8, 11, 12, 13, 14, 15]. В оригинальном учебном курсе [11] фактически последовательно реализован именно такой подход, включая идею реализации одних структур данных на базе других. Более формальное изложение вопросов, связанных со спецификацией, представлением и реали- зацией структур данных, можно найти в [8] и в цитированной там литературе. Материал по рекурсивной обработке списков из 1.6 и 1.7 может рассмат- риваться как "мостик" в функциональное программирование. На абстрактном уровне эти вопросы хорошо изложены в [18, 19], а основы реализации иерар- хических списков на Паскале можно найти в [1, 4]. При рассмотрении стека, очереди и дека мы в значительной степени опи- рались на [3, 11, 13] и на статью К.Хоора в [7]. Дополнительную информацию по программированию деревьев можно найти в [10, 13, 15, 20]. В качестве основных источников заданий для упражнений использовались [10, 13, 17]. Дополнительно можно рекомендовать [9]. 66