Динамические структуры данных. Алексеев А.Ю - 3 стр.

UptoLike

В
ВЕДЕНИЕ
При обучении программированию особую трудность вызывает работа
с динамическими структурами данных. Как правило, такие структуры данных
являются "самодельными", и программист сам должен управлять их размеще-
нием в памяти машины: порождать, модифицировать и уничтожать их в про-
цессе выполнения программы. Все эти операции в конечном итоге реализуют-
ся на встроенных в вычислительную машину (ВМ) структурах данных (на
базе модели памяти данной ВМ). При этом встроенные структуры данных от-
ражают специфику организации ВМ (как совокупности программно-
аппаратных средств), в то время как "самодельные" структуры данных отра-
жают специфику решаемой задачи. Разрешение этого естественного противо-
речия может основываться на абстрагировании от деталей реализации дина-
мических структур данных, на определении этих структур данных через
базовые операции над ними с указанием их характерных свойств.
В рамках такого подхода в учебном пособии рассматриваются типовые
динамические структуры данных, используемые при решении многих про-
граммистских задач: списки, стеки и очереди, деревья и леса. Для каждой
структуры даются основные определения, формальная спецификация, пред-
ставление и реализация на языке Паскаль (в версии Турбо-Паскаль). Затем
следует набор упражнений для программирования.
При формулировке заданий для упражнений отражена лишь алго-
ритмическая суть задачи. Подразумевается, что должна быть написана про-
грамма, содержащая основной алгоритм (вычислительную часть) и модуль или
модули (в смысле языка Турбо-Паскаль) для работы с используемыми структу-
рами данных. Кроме того, программа должна выполнять тестирующие функции
по отношению к своей вычислительной части: должен быть предусмотрен
удобный при тестировании ввод исходных данных, вывод (визуализация) про-
межуточных данных и результатов в форме, удобной для анализа работы ос-
новного алгоритма. В случае динамических структур данных выполнение этих
не вполне формальных требований может составлять определенную проблему,
которую следует решать при консультации с преподавателем.
3
                               ВВЕДЕНИЕ


   При обучении программированию особую трудность вызывает работа
с динамическими структурами данных. Как правило, такие структуры данных
являются "самодельными", и программист сам должен управлять их размеще-
нием в памяти машины: порождать, модифицировать и уничтожать их в про-
цессе выполнения программы. Все эти операции в конечном итоге реализуют-
ся на встроенных в вычислительную машину (ВМ) структурах данных (на
базе модели памяти данной ВМ). При этом встроенные структуры данных от-
ражают специфику организации ВМ (как совокупности программно-
аппаратных средств), в то время как "самодельные" структуры данных отра-
жают специфику решаемой задачи. Разрешение этого естественного противо-
речия может основываться на абстрагировании от деталей реализации дина-
мических структур данных, на определении этих структур данных через
базовые операции над ними с указанием их характерных свойств.
   В рамках такого подхода в учебном пособии рассматриваются типовые
динамические структуры данных, используемые при решении многих про-
граммистских задач: списки, стеки и очереди, деревья и леса. Для каждой
структуры даются основные определения, формальная спецификация, пред-
ставление и реализация на языке Паскаль (в версии Турбо-Паскаль). Затем
следует набор упражнений для программирования.
   При формулировке заданий для упражнений отражена лишь алго-
ритмическая суть задачи. Подразумевается, что должна быть написана про-
грамма, содержащая основной алгоритм (вычислительную часть) и модуль или
модули (в смысле языка Турбо-Паскаль) для работы с используемыми структу-
рами данных. Кроме того, программа должна выполнять тестирующие функции
по отношению к своей вычислительной части: должен быть предусмотрен
удобный при тестировании ввод исходных данных, вывод (визуализация) про-
межуточных данных и результатов в форме, удобной для анализа работы ос-
новного алгоритма. В случае динамических структур данных выполнение этих
не вполне формальных требований может составлять определенную проблему,
которую следует решать при консультации с преподавателем.




                                   3