
- •Индивидуальное домашнее задание Задание
- •1. Задачи 1-3 из таблицы 1
- •2. Задачи 4-5 из таблицы 1
- •Заполнение информационного массива пользователем с клавиатуры
- •3. Задача 6 из таблицы 1
- •Заполнение информационного массива пользователем с клавиатуры
- •4. Задачи 7-8 из таблицы 1
- •Заполнение информационного массива пользователем с клавиатуры
- •5. Задача 9 из таблицы 1
- •Заполнение информационного массива пользователем с клавиатуры
- •6. Задачи 10-11 из таблицы 1
- •Заполнение информационного массива пользователем с клавиатуры
Индивидуальное домашнее задание Задание
1. Задачи 1-3 из таблицы 1
Дан информационный массив заданной структуры. Для хранения информационного массива использовать заданную по варианту структуру данных.
Написать программу реализующие следующие функции:
Заполнение информационного массива пользователем с клавиатуры
Заполнение информационного массива из файла
Добавление записи в информационный массив на указанную позицию
Удаление выбранной записи из информационного массива
Редактирование выбранной записи информационного массива
Сортировка информационного массива заданным методом
2. Задачи 4-5 из таблицы 1
Дан информационный массив заданной структуры.
Написать программу реализующие следующие функции:
Заполнение информационного массива пользователем с клавиатуры
Заполнение информационного массива из файла
Построение хэш-таблицы для ускоренного доступа к элементам информационного массива
Добавление записи в информационный массив
Удаление выбранной записи из информационного массива
Редактирование выбранной записи информационного массива
Поиск элементов по совпадению с использованием хэш-таблицы
Вывод текущего содержимого хэш-таблицы
3. Задача 6 из таблицы 1
Дан информационный массив заданной структуры. Для хранения информационного массива использовать сплит-список с заданным количество слоев
Написать программу реализующие следующие функции:
Заполнение информационного массива пользователем с клавиатуры
Заполнение информационного массива из файла
Добавление записи в список на указанную позицию
Удаление выбранной записи из списка
Редактирование выбранной записи из списка
Поиск по совпадению в сплит-списке
Вывод текущей структуры сплит-списка
4. Задачи 7-8 из таблицы 1
Дан информационный массив заданной структуры. Для хранения информационного массива использовать древовидную структуру в соответствии с вариантом.
Написать программу реализующие следующие функции:
Заполнение информационного массива пользователем с клавиатуры
Заполнение информационного массива из файла
Добавление записи в дерево
Удаление выбранной записи из дерева
Редактирование выбранной записи в дереве
Поиск по совпадению в дереве
Вывод текущей структуры дерева
5. Задача 9 из таблицы 1
Дан информационный массив заданной структуры. Для хранения информационного массива использовать граф. Структура графа задается матрицей инциденций или матрицей смежности.
Написать программу реализующие следующие функции:
Заполнение информационного массива пользователем с клавиатуры
Заполнение информационного массива из файла
Поиск кратчайшего пути в графе заданным алгоритмом
6. Задачи 10-11 из таблицы 1
Дан информационный массив заданной структуры. Для хранения информационного массива использовать заданную по варианту структуру данных
Написать программу реализующие следующие функции:
Заполнение информационного массива пользователем с клавиатуры
Заполнение информационного массива из файла
Добавление записи в информационный массив на указанную позицию
Удаление выбранной записи из информационного массива
Редактирование выбранной записи информационного массива
Сохранение информационного массива, закодированного заданным методом, в двоичный файл
Загрузка содержимого информационного массива из закодированного двоичного файла
Таблица 1. Виды задач
№ |
Задание |
Комментарий |
1 |
Пирамидальная сортировка |
1. http://iproc.ru/parallel-programming/lection-5/ 2. http://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D1%80%D0%B0%D0%BC%D0%B8%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0 |
2 |
Сортировка слиянием |
1. http://iproc.ru/parallel-programming/lection-6/ 2. http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D0%B5%D0%BC |
3 |
Быстрая сортировка (quick-sort) |
1. http://ru.wikipedia.org/wiki/%D0%91%D1%8B%D1%81%D1%82%D1%80%D0%B0%D1%8F_%D1%81%D0%BE%D1%80%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0 |
4 |
Поиск по совпадению с использованием хеш-таблицы. Метод разрешения коллизий – метод цепочек |
http://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0 |
5 |
Поиск по совпадению с использованием хеш-таблицы. Метод разрешения коллизий – метод последовательной адресации |
http://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0 |
6 |
Сплит-список (Список с пропусками) |
http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D1%81_%D0%BF%D1%80%D0%BE%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%BC%D0%B8 |
7 |
Построение АВЛ-дерева |
http://ru.wikipedia.org/wiki/%D0%90%D0%92%D0%9B-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE |
8 |
Построение B-дерева |
http://ru.wikipedia.org/wiki/B-%D0%B4%D0%B5%D1%80%D0%B5%D0%B2%D0%BE |
9 |
Поиск кратчайшего пути в графе: алгоритм Дейкстры |
http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%94%D0%B5%D0%B9%D0%BA%D1%81%D1%82%D1%80%D1%8B |
10 |
Эффективное кодирование информации: метод Шеннона-Фано |
http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%A8%D0%B5%D0%BD%D0%BD%D0%BE%D0%BD%D0%B0_%E2%80%94_%D0%A4%D0%B0%D0%BD%D0%BE |
11 |
Эффективное кодирование информации: метод Хаффмана |
http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%B4_%D0%A5%D0%B0%D1%84%D1%84%D0%BC%D0%B0%D0%BD%D0%B0 |
Таблица 2. Варианты
№ |
№ задачи |
Структура информационной записи |
Структура хранения |
Количество слоев сплит-списка |
Размерность B-дерева |
|
Тип ключевого поля |
Список информационных полей |
|||||
1 |
1 |
int[3] |
char[], int |
Массив |
|
|
2 |
2 |
float[3] |
int[], char[], float |
Массив |
|
|
3 |
3 |
int[3] |
char[], int |
Массив |
|
|
4 |
4 |
float[3] |
int[], char[], float |
Массив и Хэш-таблица |
|
|
5 |
5 |
int[3] |
char[], int |
Массив и Хэш-таблица |
|
|
6 |
6 |
float[3] |
int[], char[], float |
Сплит-список |
2 |
|
7 |
7 |
int[3] |
char[], int |
АВЛ-дерево |
|
|
8 |
8 |
float[3] |
int[], char[], float |
B-дерево |
|
2 |
9 |
9 |
int[3] |
char[], int |
Граф |
|
|
10 |
10 |
float[3] |
int[], char[], float |
Массив |
|
|
11 |
11 |
int[3] |
char[], int |
Массив |
|
|
12 |
1 |
float |
float[], char[] |
Двусвязный список |
|
|
13 |
2 |
int[2] |
char[], int[] |
Двусвязный список |
|
|
14 |
3 |
float |
float[], char[] |
Двусвязный список |
|
|
15 |
4 |
int[2] |
char[], int[] |
Двусвязный список и Хэш-таблица |
|
|
16 |
5 |
float |
float[], char[] |
Двусвязный список и Хэш-таблица |
|
|
17 |
6 |
int[2] |
char[], int[] |
Сплит-список |
3 |
|
18 |
7 |
float |
float[], char[] |
АВЛ-дерево |
|
|
19 |
8 |
int[2] |
char[], int[] |
B-дерево |
|
3 |
20 |
9 |
float |
float[], char[] |
Граф |
|
|
21 |
10 |
int[2] |
char[], int[] |
Двусвязный список |
|
|
22 |
11 |
float |
float[], char[] |
Двусвязный список |
|
|
23 |
1 |
char[20] |
char[], int, float |
Односвязный список |
|
|
24 |
2 |
int |
char[], float |
Односвязный список |
|
|
25 |
3 |
char[20] |
char[], int, float |
Односвязный список |
|
|
26 |
4 |
int |
char[], float |
Односвязный список и Хэш-таблица |
|
|
27 |
5 |
char[20] |
char[], int, float |
Односвязный список и Хэш-таблица |
|
|
28 |
6 |
int |
char[], float |
Сплит-список |
4 |
|
29 |
7 |
char[20] |
char[], int, float |
АВЛ-дерево |
|
|
30 |
8 |
int |
char[], float |
B-дерево |
|
4 |
31 |
9 |
char[20] |
char[], int, float |
Граф |
|
|
32 |
10 |
int |
char[], float |
Односвязный список |
|
|
33 |
11 |
char[20] |
char[], int, float |
Односвязный список |
|
|