Структуры и алгоритмы обработки данных. Часть 1. Лабораторные работы №1-5 на языке С++ (для всех вариантов)
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
- Программа для просмотра текстовых файлов
Описание
Лабораторная работа 1. Методы сортировки массивов с квадратичной трудоемкостью.
Цель работы: Освоить методы сортировки массивов с квадратичной трудоемкостью.
Порядок выполнения работы:
1. Разработать подпрограммы сортировки массива целых чисел методами прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки.
2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве (оформить в виде подпрограммы).
Серией называется неубывающая последовательность элементов массива максимальной длины.
Пример: в массиве 23145314 (23 145 3 14)содержится 4 серии
3. Составить таблицу следующего вида (данные получить экспериментально) для n=100, 200, 300, 400, 500. (n – количество элементов в массиве)
Размер
массива Мф+Сф м. Шелла Мф+Сф пирам. (м. Хоара)
Убыв. Случ. Возр. Убыв. Случ. Возр.
100
200
300
400
500
4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости.
Лабораторная работа 2
Быстрые методы сортировки массивов.
Цель работы: Освоить быстрые методы сортировки массивов
Порядок выполнения работы:
1. Разработать подпрограммы сортировки массива целых чисел методом Шелла и методом пирамидальной сортировки (или методом Хоара). Проверить правильность сортировки.
2. Исследовать трудоемкость метода Шелла для n=10, 100, …, 500, n – количество элементов в массиве. Определить последовательность шагов для предварительных сортировок по формуле Кнута. Построить таблицу и проанализировать полученные результаты:
Длина массива Количество шагов по формуле Кнута Последовательность шагов по формуле Кнута Мф+Сф
Метод Шелла
3. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве)
Размер
массива Мф+Сф м. Шелла Мф+Сф пирам. (м. Хоара)
Убыв. Случ. Возр. Убыв. Случ. Возр.
100
200
300
400
500
4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости.
Лабораторная работа 3
Быстрые методы сортировки последовательностей.
Цель работы: Освоить быстрые методы сортировки последовательностей
Порядок выполнения работы:
1. Разработать подпрограммы сортировки последовательности целых чисел методом прямого слияния (или методом цифровой сортировки).
2. Разработать сервисные функции для работы со списками:
• заполнение списка (стека) возрастающими числами;
• заполнение списка (стека) убывающими числами;
• заполнение списка (стека) случайными числами;
• печать элементов списка;
• подсчет контрольной суммы элементов списка;
• подсчет количества серий в списке.
3. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве)
Длина списка (Мф+Сф ) метод прямого слияния (цифровая сорт.)
Возрастающие числа Убывающие числа Случайные числа
100
200
300
400
500
4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости. Сравнить полученные результаты с трудоемкостью метода прямого выбора и метода пирамидальной сортировки (использовать результаты предыдущих лабораторных работ).
Лабораторная работа 4
Индексация и быстрый поиск.
Цель работы: Изучение методов построения индексных массивов и быстрого поиска с использованием индексации.
Порядок выполнения работы:
1. Написать программу «Телефонный справочник», которая обрабатывает данные об абонентах телефонной станции. Каждый абонент имеет имя, адрес, телефонный номер. В программе описать массив абонентов (назовем его справочник). В справочнике должно быть не менее 10 элементов, которые заполняются либо программно, либо считываются из файла.
2. Разработать подпрограмму создания в памяти компьютера индексного массива для упорядочивания справочника (воспользоваться любым методом сортировки кроме пузырькового). Применить разработанную подпрограмму для создания индексных массивов упорядочивания (в прямом порядке) справочника по имени, адресу и номеру телефона абонента. Вывести на экран исходный массив абонентов и содержимое построенных индексных массивов.
3. Разработать подпрограмму вывода на экран упорядоченного справочника. Применить разработанную подпрограмму для вывода на экран справочника, упорядоченного по возрастанию имени абонента, адреса абонента и номера телефона абонента.
4. Разработать подпрограмму поиска в справочнике с использованием индексного массива. Применить разработанную подпрограмму для поиска абонента по имени, адресу и номеру телефона. Ключ для поиска вводить с клавиатуры.
Лабораторная работа 5
Хеширование и поиск.
Цель работы: Изучение возможности хеширования данных для организации поиска.
Порядок выполнения работы:
1. Разработать подпрограмму хеширования массива целых чисел методом прямого связывания и подпрограмму поиска в хеш-таблице элемента по заданному ключу. Вывести на экран построенную хеш-таблицу.
2. Реализовать подпрограмму хеширования массива целых чисел методом открытой адресации. Для разрешения коллизий использовать линейные и квадратичные пробы. Вывести на экран заполненные хеш-таблицы для m=11 в виде
Номер ячейки 0 1 2 3 … … m-1
Число
3. Подсчитать и сравнить количество коллизий при линейных и квадратичных пробах. Построить таблицу и проанализировать полученные результаты:
Размер хеш-таблицы Количество исходных чисел Количество коллизий
Линейные пробы Квадратичные пробы
13 15
29 30
43 45
67 70
83 85
4. Организовать поиск элемента с заданным ключом для метода открытой адресации (линейные и квадратичные пробы).
Цель работы: Освоить методы сортировки массивов с квадратичной трудоемкостью.
Порядок выполнения работы:
1. Разработать подпрограммы сортировки массива целых чисел методами прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки.
2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве (оформить в виде подпрограммы).
Серией называется неубывающая последовательность элементов массива максимальной длины.
Пример: в массиве 23145314 (23 145 3 14)содержится 4 серии
3. Составить таблицу следующего вида (данные получить экспериментально) для n=100, 200, 300, 400, 500. (n – количество элементов в массиве)
Размер
массива Мф+Сф м. Шелла Мф+Сф пирам. (м. Хоара)
Убыв. Случ. Возр. Убыв. Случ. Возр.
100
200
300
400
500
4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости.
Лабораторная работа 2
Быстрые методы сортировки массивов.
Цель работы: Освоить быстрые методы сортировки массивов
Порядок выполнения работы:
1. Разработать подпрограммы сортировки массива целых чисел методом Шелла и методом пирамидальной сортировки (или методом Хоара). Проверить правильность сортировки.
2. Исследовать трудоемкость метода Шелла для n=10, 100, …, 500, n – количество элементов в массиве. Определить последовательность шагов для предварительных сортировок по формуле Кнута. Построить таблицу и проанализировать полученные результаты:
Длина массива Количество шагов по формуле Кнута Последовательность шагов по формуле Кнута Мф+Сф
Метод Шелла
3. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве)
Размер
массива Мф+Сф м. Шелла Мф+Сф пирам. (м. Хоара)
Убыв. Случ. Возр. Убыв. Случ. Возр.
100
200
300
400
500
4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости.
Лабораторная работа 3
Быстрые методы сортировки последовательностей.
Цель работы: Освоить быстрые методы сортировки последовательностей
Порядок выполнения работы:
1. Разработать подпрограммы сортировки последовательности целых чисел методом прямого слияния (или методом цифровой сортировки).
2. Разработать сервисные функции для работы со списками:
• заполнение списка (стека) возрастающими числами;
• заполнение списка (стека) убывающими числами;
• заполнение списка (стека) случайными числами;
• печать элементов списка;
• подсчет контрольной суммы элементов списка;
• подсчет количества серий в списке.
3. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве)
Длина списка (Мф+Сф ) метод прямого слияния (цифровая сорт.)
Возрастающие числа Убывающие числа Случайные числа
100
200
300
400
500
4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости. Сравнить полученные результаты с трудоемкостью метода прямого выбора и метода пирамидальной сортировки (использовать результаты предыдущих лабораторных работ).
Лабораторная работа 4
Индексация и быстрый поиск.
Цель работы: Изучение методов построения индексных массивов и быстрого поиска с использованием индексации.
Порядок выполнения работы:
1. Написать программу «Телефонный справочник», которая обрабатывает данные об абонентах телефонной станции. Каждый абонент имеет имя, адрес, телефонный номер. В программе описать массив абонентов (назовем его справочник). В справочнике должно быть не менее 10 элементов, которые заполняются либо программно, либо считываются из файла.
2. Разработать подпрограмму создания в памяти компьютера индексного массива для упорядочивания справочника (воспользоваться любым методом сортировки кроме пузырькового). Применить разработанную подпрограмму для создания индексных массивов упорядочивания (в прямом порядке) справочника по имени, адресу и номеру телефона абонента. Вывести на экран исходный массив абонентов и содержимое построенных индексных массивов.
3. Разработать подпрограмму вывода на экран упорядоченного справочника. Применить разработанную подпрограмму для вывода на экран справочника, упорядоченного по возрастанию имени абонента, адреса абонента и номера телефона абонента.
4. Разработать подпрограмму поиска в справочнике с использованием индексного массива. Применить разработанную подпрограмму для поиска абонента по имени, адресу и номеру телефона. Ключ для поиска вводить с клавиатуры.
Лабораторная работа 5
Хеширование и поиск.
Цель работы: Изучение возможности хеширования данных для организации поиска.
Порядок выполнения работы:
1. Разработать подпрограмму хеширования массива целых чисел методом прямого связывания и подпрограмму поиска в хеш-таблице элемента по заданному ключу. Вывести на экран построенную хеш-таблицу.
2. Реализовать подпрограмму хеширования массива целых чисел методом открытой адресации. Для разрешения коллизий использовать линейные и квадратичные пробы. Вывести на экран заполненные хеш-таблицы для m=11 в виде
Номер ячейки 0 1 2 3 … … m-1
Число
3. Подсчитать и сравнить количество коллизий при линейных и квадратичных пробах. Построить таблицу и проанализировать полученные результаты:
Размер хеш-таблицы Количество исходных чисел Количество коллизий
Линейные пробы Квадратичные пробы
13 15
29 30
43 45
67 70
83 85
4. Организовать поиск элемента с заданным ключом для метода открытой адресации (линейные и квадратичные пробы).
Дополнительная информация
февраль 2016 г., зачтено без замечаний
Похожие материалы
Структуры и алгоритмы обработки данных. Часть 1. Лабораторная работа №5 на языке С++ (для всех вариантов)
nik200511
: 11 апреля 2016
Хеширование и поиск.
Цель работы: Изучение возможности хеширования данных для организации поиска.
Порядок выполнения работы:
1. Разработать подпрограмму хеширования массива целых чисел методом прямого связывания и подпрограмму поиска в хеш-таблице элемента по заданному ключу. Вывести на экран построенную хеш-таблицу.
2. Реализовать подпрограмму хеширования массива целых чисел методом открытой адресации. Для разрешения коллизий использовать линейные и квадратичные пробы. Вывести на экран заполн
44 руб.
Структуры и алгоритмы обработки данных (часть 1-я). Лабораторная работа №1
rikimaru
: 10 мая 2020
Цель работы: Освоить методы сортировки массивов.
Порядок выполнения работы:
1. Разработать подпрограммы сортировки массива целых чисел методами прямого выбора, методом Шелла и методом пирамидальной сортировки (или методом Хоара на выбор).
2. Отладить правильность работы соритровок на массивах малой длины. Кроме того,
контролировать правильность сортировки путем подсчета контрольной суммы и числа серий в массиве (оформить в виде подпрограммы).
Серией называется неубывающая последовательность эл
150 руб.
“Структуры и алгоритмы обработки данных. Часть 1”. Лабораторная работа № 1
wchg
: 10 сентября 2013
Порядок выполнения работы:
Разработать процедуры сортировки массива целых чисел методом прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки (язык программирования Паскаль или Си).
Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.
Во время сортировки предусмотреть подсчет количества пересылок и сравнений (М и С), сравнить их с теоретическими оценками.
Составить таблицу следующего вида (данные получить экспериментально) для n= 1
79 руб.
Структуры и алгоритмы обработки данных. Часть 1, Лабораторная работа №1
stud82
: 6 октября 2012
Тема: Методы сортировки массивов с квадратичной трудоемкостью.
Цель работы: Освоить методы сортировки массивов с квадратичной трудоемкостью.
Порядок выполнения работы:
1.Разработать процедуры сортировки массива целых чисел методом прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки (язык программирования Паскаль или Си).
2.Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.
3.Во время сортировки предусмотреть подсчет количества
30 руб.
Лабораторная работа №1. "Структуры и алгоритмы обработки данных. Часть 1"
Greenberg
: 22 октября 2011
Часть 1. Методы сортировки и поиска.
Тема: Методы сортировки массивов с квадратичной трудоемкостью.
Цель работы: Освоить методы сортировки массивов с квадратичной трудоемкостью.
Порядок выполнения работы:
1. Разработать процедуры сортировки массива целых чисел методом прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки (язык программирования Паскаль или Си).
2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.
3. Во время сорт
49 руб.
Структуры и алгоритмы обработки данных. Часть 2. Лабораторные работы №1-5 на языке С++ (для всех вариантов)
nik200511
: 30 января 2016
ПРАВИЛА ВЫПОЛНЕНИЯ ЛАБОРАТОРНЫХ РАБОТ
Перед выполнением заданий лабораторной работы рекомендуется изучить теоретический материал по теме лабораторной работы и описание методов обработки данных на псевдокоде, используя конспекты лекционных занятий и литературу из списка.
Задания лабораторных работ выполняются на языке программирования С/С++, среда программирования по выбору студента.
Изучаемые методы обработки данных рекомендуется программно реализовывать в виде отдельных функций (подпрограмм), м
96 руб.
Структуры и алгоритмы обработки данных (1 часть), Лабораторная работа №1
GTV8
: 10 сентября 2012
1. Разработать процедуры сортировки массива целых чисел методом прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки (язык программирования Паскаль или Си).
2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве.
3. Во время сортировки предусмотреть подсчет количества пересылок и сравнений (М и С), сравнить их с теоретическими оценками.
4. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400
200 руб.
Лабораторная работа №1 по предмету «Структуры и алгоритмы обработки данных» (часть 1-я)
boeobq
: 28 октября 2021
Задание на работу сформулировано следующим образом:
1) Разработать подпрограммы сортировки массива целых чисел методами прямого выбора, методом Шелла и методом пирамидальной сортировки.
2) Отладить правильность работы сортировок на массивах малой длины. Кроме того контролировать правильность сортировки путем подсчета контрольной суммы и числа серий в массиве (оформить в виде подпрограммы).
3) По полученным экспериментальным данным составить таблицу.
4) Проанализировать полученные результаты, ср
50 руб.
Другие работы
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
mosintacd
: 28 июня 2024
ММА/ИДО Иностранный язык в профессиональной сфере (ЛТМ) Тест 20 из 20 баллов 2024 год
Московская международная академия Институт дистанционного образования Тест оценка ОТЛИЧНО
2024 год
Ответы на 20 вопросов
Результат – 100 баллов
С вопросами вы можете ознакомиться до покупки
ВОПРОСЫ:
1. We have … to an agreement
2. Our senses are … a great role in non-verbal communication
3. Saving time at business communication leads to … results in work
4. Conducting negotiations with foreigners we shoul
150 руб.
Задание №2. Методы управления образовательными учреждениями
studypro
: 13 октября 2016
Практическое задание 2
Задание 1. Опишите по одному примеру использования каждого из методов управления в Вашей профессиональной деятельности.
Задание 2. Приняв на работу нового сотрудника, Вы надеялись на более эффективную работу, но в результате разочарованы, так как он не соответствует одному из важнейших качеств менеджера - самодисциплине. Он не обязателен, не собран, не умеет отказывать и т.д.. Но, тем не менее, он отличный профессионал в своей деятельности. Какими методами управления Вы во
200 руб.
Особенности бюджетного финансирования
Aronitue9
: 24 августа 2012
Содержание:
Введение
Теоретические основы бюджетного финансирования
Понятие и сущность бюджетного финансирования
Характеристика основных форм бюджетного финансирования
Анализ бюджетного финансирования образования
Понятие и источники бюджетного финансирования образования
Проблемы бюджетного финансирования образования
Основные направления совершенствования бюджетного финансирования образования
Заключение
Список использованный литературы
Цель курсовой работы – исследовать особенности бюджетного фин
20 руб.
Программирование (часть 1-я). Зачёт. Билет №2
sibsutisru
: 3 сентября 2021
ЗАЧЕТ по дисциплине “Программирование (часть 1)”
Билет 2
Определить значение переменной y после работы следующего фрагмента программы:
a = 3; b = 2 * a – 10; x = 0; y = 2 * b + a;
if ( b > y ) or ( 2 * b < y + a ) ) then begin x = b – y; y = x + 4 end;
if ( a + b < 0 ) and ( y + x > 2 ) ) then begin x = x + y; y = x – 2 end;
200 руб.