engineerklub | Дата: Вторник, 14.11.2023, 09:55 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Статус: Offline
| Структуры и алгоритмы обработки данных. ДО СИБГУТИ
Тип работы: Работа Лабораторная Сдано в учебном заведении: ДО СИБГУТИ
Описание: Задания лабораторных работ выполняются ТОЛЬКО на языке программирования С/С++, среда программирования по выбору студента. Изучаемые методы обработки данных рекомендуется программно реализовывать в виде отдельных функций (подпрограмм), массивы (последовательности) данных должны передаваться в подпрограммы в качестве параметров. Заполнение массивов данными, вывод их на экран, вычисление вспомогательных величин и пр. необходимо оформлять в виде отдельных подпрограмм. При выполнении заданий следует обеспечить вывод на экран данных на всех шагах алгоритма. Программа должна иметь дружественный, интуитивно понятный интерфейс (меню пользователя, вывод подсказок, комментарии при вводе/выводе данных и т.д.). В программе в ходе выполнения алгоритма необходимо предусмотреть подсчет количества сравнений С и количества пересылок М и вывести их экран. Тестирование разработанной программы необходимо проводить для различных типов входных данных (случайный массив, упорядоченный массив в прямом и обратном порядке). После тестирования необходимо проанализировать полученные результаты, т.е. проверить соответствие полученных экспериментальным путем величин М и С теоретическим оценкам трудоемкости реализованных методов. Для зачета по лабораторной работе студенту необходимо представить в отдельной папке • Исходные тексты программ с подробными комментариями; • Исполняемые файлы; • Отчет по лабораторной работе. Отчет должен включать в себя следующие разделы: • Формулировку задания • Описание основных методов, используемых в работе; • Результаты работы программы (в виде файла или в виде скриншота); • Анализ результатов.
Лабораторная работа 1 Методы сортировки массивов Цель работы: Освоить методы сортировки массивов. Порядок выполнения работы: Разработать подпрограммы сортировки массива целых чисел методами прямого выбора, методом Шелла и методом пирамидальной сортировки (или методом Хоара на выбор). Отладить правильность работы соритровок на массивах малой длины. Кроме того, контролировать правильность сортировки путем подсчета контрольной суммы и числа серий в массиве (оформить в виде подпрограммы). Серией называется неубывающая последовательность элементов массива максимальной длины. Пример: в массиве 23145314 (23 145 3 14) содержится 4 серии Составить таблицу следующего вида (данные получить экспериментально) для n=100, 200, 300, 400, 500. (n – количество элементов в массиве)
Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости.
Лабораторная работа 2 Быстрые методы сортировки последовательностей. Цель работы: Освоить быстрые методы сортировки последовательностей Порядок выполнения работы: 1. Разработать подпрограммы сортировки последовательности целых чисел методом прямого слияния (или методом цифровой сортировки). 2. Разработать сервисные функции для работы со списками: • заполнение списка (стека) возрастающими числами; • заполнение списка (стека) убывающими числами; • заполнение списка (стека) случайными числами; • печать элементов списка; • подсчет контрольной суммы элементов списка; • подсчет количества серий в списке. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве)
Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости. Сравнить полученные результаты с трудоемкостью метода прямого выбора и метода пирамидальной сортировки (использовать результаты предыдущих лабораторных работ).
Лабораторная работа 3 Хэширование и поиск Цель работы: Изучение возможности хэширования данных для организации поиска. Порядок выполнения работы: Разработать подпрограмму хеширования массива целых чисел методом прямого связывания и подпрограмму поиска в хэш-таблице элемента по заданному ключу. Вывести на экран построенную хэш-таблицу. Реализовать подпрограмму хеширования массива целых чисел методом открытой адресации. Для разрешения коллизий использовать линейные и квадратичные пробы. Вывести на экран заполненные хеш-таблицы для m=11 в виде
Подсчитать и сравнить количество коллизий при линейных и квадратичных пробах. Построить таблицу и проанализировать полученные результаты:
Организовать поиск элемента с заданным ключом для метода открытой адресации (линейные и квадратичные пробы).
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Вторник, 14.11.2023, 09:56 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Статус: Offline
| Тип работы: Работа Контрольная Сдано в учебном заведении: ДО СИБГУТИ
Описание: ПРАВИЛА ВЫПОЛНЕНИЯ И ОФОРМЛЕНИЯ КОНТРОЛЬНОЙ РАБОТЫ При выполнении контрольной работы необходимо строго придерживаться указанных ниже правил. Работы, выполненные без соблюдения этих правил, не засчитываются и возвращаются студенту для доработки. 1. Контрольная работа состоит из десяти заданий, которые одинаковы для всех студентов, однако входные данные (это последовательный набор символов ФИО студента) выбираются индивидуально. 2. В работу должны быть включены все задачи, указанные в задании. Контрольные работы, содержащие не все задачи или задачи, решенные для набора букв ФИО постороннего человека не засчитываются 3. Решения задач необходимо располагать в порядке номеров, указанных в задании, сохраняя номера задач. Перед решением каждой задачи необходимо выписать полностью ее условие. Примеры решения и оформления всех задач контрольной работы есть в электронном конспекте. Работа выполняется в редакторе Word с подробным объяснением решения каждого задания. 4. После получения прорецензированной работы с оценкой «незачет» студент должен исправить все отмеченные рецензентом ошибки и недочеты, выполнить все рекомендации и прислать для повторной проверки (комментарии преподавателя не удалять, повторная проверка проводится в укороченные сроки). Без выполненной контрольной работы студент к зачету не допускается.
Задание для контрольной работы Задания для контрольной работы одинаковы для всех студентов. Начальные данные выбираются индивидуально в зависимости от задания в контрольной работе. 1. Для набора из 12 символов ФИО студента выполнить вручную сортировку методом прямого выбора (пример см. в лекциях, раздел 2.1). Определить количество необходимых сравнений и перестановок. 2. Для набора из 12 символов ФИО студента выполнить вручную шейкерную сортировку. Подсчитать количество необходимых сравнений и перестановок. Определить на каждом шаге в методе шейкерной сортировки левую и правую границы сортируемой части массива (L и R). 3. Для набора из 12 символов ФИО студента выполнить сортировку методом Шелла, предварительно необходимо определить последовательность шагов по формуле Кнута. Подсчитать количество необходимых сравнений и перестановок. 4. Для набора из 12 букв своих фамилии, имени, отчества построить пирамиду. 5. Для набора из 12 символов ФИО студента выполнить вручную сортировку методом Хоара. 6. Провести слияние двух упорядоченных списков. В качестве элементов первого списка взять буквы фамилии (полностью), в качестве элементов второго списка взять буквы имени (полностью). 7. Для набора из 12 трехзначных чисел в 3-ичной системе счисления выполнить вручную сортировку методом цифровой сортировки. В качестве чисел использовать порядковые номера (в русском алфавите) букв ФИО студента, записанные в троичной системе счисления. 8. Для набора всех символов ФИО студента выполнить вручную быстрый поиск (две версии) первой буквы имени и буквы «Я». Подсчитать количество необходимых для поиска операций сравнения для каждой версии.
СКАЧАТЬ
|
|
| |