![]() | 1 2 3 4 5 6 7 8 9 10 Ім'я файлу: AiSD_LabR.docx Розширення: docx Розмір: 73кб. Дата: 28.10.2022 скачати Пов'язані файли: Kravets.pptx АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ Методические указания по выполнению лабораторных работ Методические указания по выполнению лабораторных работ для дисциплины «Алгоритмы и структуры данных» содержат семь лабораторных работ, ориентированных на использование языков Си/Си++. Массивы автоматические, статические и динамические. Структурированные типы данных и массивы. Файлы. Связные списки. Сортировка одномерных массивов. Поиск данных в массивах и связных списках. Двоичные деревья поиска. Содержание Введение 5 Массивы автоматические, статические и дина- мические ………………………………………………………… 7 Цель работы 7 Подготовка к работе 7 Варианты заданий 7 Порядок выполнения работы 10 Содержание отчѐта 11 Контрольные вопросы 12 Структурированные типы данных и массивы 13 Цель работы 13 Подготовка к работе 13 Варианты заданий 13 Порядок выполнения работы 15 Дополнительное задание 16 Контрольные вопросы 16 Файлы 18 Цель работы 18 Подготовка к работе 18 Порядок выполнения работы 18 Контрольные вопросы 19 Связные списки 21 Цель работы 21 Подготовка к работе 21 Порядок выполнения работы 21 Контрольные вопросы 22 Сортировка одномерных массивов 23 Цель работы 23 Подготовка к работе 23 Варианты заданий 23 Порядок выполнения работы 24 Контрольные вопросы 24 Поиск данных в массивах и связных списках 26 Цель работы 26 Подготовка к работе 26 Порядок выполнения работы 26 Контрольные вопросы 27 Двоичные деревья поиска 28 Цель работы 28 Подготовка к работе 28 Порядок выполнения работы 28 Контрольные вопросы 29 Рекомендуемая литература 31 ВведениеЛабораторные работы по курсу «Алгоритмы и структуры данных» предназначены для практического закрепления знаний, а также для получения студентами навыков практической работы с изучаемыми структурами данных, применения алгоритмов обра- ботки этих структур, самостоятельной разработки необходимых алгоритмов. Также при выполнении лабораторных работ реша- ются задачи оценки эффективности алгоритмов и оптимальности применения конкретных структур данных в каждом отдельном случае. При выполнении лабораторных работ студенты на практике осваивают критерии оценки эффективности и сложности алго- ритмов, учатся выбирать структуры данных и алгоритмы их об- работки для решения поставленных задач, оценивать эффектив- ность и сложность алгоритмов, разрабатывать программное обес- печение на основе выбранных алгоритмов и структур данных, ов- ладевают навыками применения структур данных и алгоритмов в разрабатываемом или используемом программном обеспечении. Лабораторный практикум по дисциплине «Алгоритмы и структуры данных» разделѐн на две части. В первую часть вошли лабораторные работы по основным структурам данных и базо- вым алгоритмам, изучаемым в лекционном курсе. Тематика работ практически соответствует основным темам лекционного курса. Во вторую части практикума предполагается включить как лабо- раторные работы по вспомогательным разделам дисциплины, так и работы исследовательского характера, предназначенные в том числе для магистрантов. Для успешного выполнения лабораторных работ студенты должны изучить лекционный материал, рекомендованную и до- полнительную литературу по темам лабораторных занятий, вы- брать вариант задания, уяснить пункты задания, выполнить под- готовку к работе по этим пунктам, разработать для каждой рабо- ты программу (одну или несколько) в соответствии с заданием к работе, выполнить отладку программы, получить с помощью программы результаты, подтверждающие (или не подтверждаю- щие) положения теории и сделать выводы по отдельным пунктам задания и по всей работе. В исходном виде лабораторный практикум ориентирован на применение языков программирования Си или Си++ (предпочти- тельным является Си++), но в равной степени может использо- ваться и язык Паскаль, тем более, что в учебном пособии [1] при- ведены примеры процедур на этом языке. По согласованию с ве- дущими лабораторные занятия преподавателями могут использо- ваться и другие языки программирования, например, Java, C#, Py- thon, при условии, что студенты владеют этими языками в доста- точной степени, а также, что семантика языка позволяет приме- нять программы на нѐм для проверки теоретических положений дисциплины. Например, в языках Java, C# и Python отсутствуют явные указатели, но тем не менее, существует возможность соз- дания динамических связных структур данных. В языке Python существует отдельный тип данных «список», которые не соответ- ствует изучаемому в курсе понятию связного списка. Подобные обстоятельства должны учитываться студентами и преподавате- лями при выборе языка. Не следует использовать библиотечные функции, например, функцию быстрой сортировки, а также гото- вые шаблонные структуры данных в объектно-ориентированных языках программирования. Контрольные вопросы к каждой работе ориентированы на материал, изложенный в учебном пособии [1], и при подготовке к защите лабораторных работ в абсолютном большинстве случае нет необходимости прибегать к дополнительным источникам ин- формации (хотя это и не возбраняется). Защита лабораторных работ предполагается в виде предъяв- ления отчѐта по работе с еѐ результатами и сделанными вывода- ми. Студентам задаются контрольные вопросы, от двух до пяти, в зависимости от продемонстрированного уровня знаний, а также могут быть заданы дополнительные вопросы по результатам ра- боты или еѐ программному обеспечению. |