Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Индивидуальное домашнее задание.doc
Скачиваний:
1
Добавлен:
29.06.2024
Размер:
135.68 Кб
Скачать

Индивидуальное домашнее задание Задание

1. Задачи 1-3 из таблицы 1

Дан информационный массив заданной структуры. Для хранения информационного массива использовать заданную по варианту структуру данных.

Написать программу реализующие следующие функции:

  1. Заполнение информационного массива пользователем с клавиатуры

  2. Заполнение информационного массива из файла

  3. Добавление записи в информационный массив на указанную позицию

  4. Удаление выбранной записи из информационного массива

  5. Редактирование выбранной записи информационного массива

  6. Сортировка информационного массива заданным методом

2. Задачи 4-5 из таблицы 1

Дан информационный массив заданной структуры.

Написать программу реализующие следующие функции:

  1. Заполнение информационного массива пользователем с клавиатуры

  2. Заполнение информационного массива из файла

  3. Построение хэш-таблицы для ускоренного доступа к элементам информационного массива

  4. Добавление записи в информационный массив

  5. Удаление выбранной записи из информационного массива

  6. Редактирование выбранной записи информационного массива

  7. Поиск элементов по совпадению с использованием хэш-таблицы

  8. Вывод текущего содержимого хэш-таблицы

3. Задача 6 из таблицы 1

Дан информационный массив заданной структуры. Для хранения информационного массива использовать сплит-список с заданным количество слоев

Написать программу реализующие следующие функции:

  1. Заполнение информационного массива пользователем с клавиатуры

  2. Заполнение информационного массива из файла

  3. Добавление записи в список на указанную позицию

  4. Удаление выбранной записи из списка

  5. Редактирование выбранной записи из списка

  6. Поиск по совпадению в сплит-списке

  7. Вывод текущей структуры сплит-списка

4. Задачи 7-8 из таблицы 1

Дан информационный массив заданной структуры. Для хранения информационного массива использовать древовидную структуру в соответствии с вариантом.

Написать программу реализующие следующие функции:

  1. Заполнение информационного массива пользователем с клавиатуры

  2. Заполнение информационного массива из файла

  3. Добавление записи в дерево

  4. Удаление выбранной записи из дерева

  5. Редактирование выбранной записи в дереве

  6. Поиск по совпадению в дереве

  7. Вывод текущей структуры дерева

5. Задача 9 из таблицы 1

Дан информационный массив заданной структуры. Для хранения информационного массива использовать граф. Структура графа задается матрицей инциденций или матрицей смежности.

Написать программу реализующие следующие функции:

  1. Заполнение информационного массива пользователем с клавиатуры

  2. Заполнение информационного массива из файла

  3. Поиск кратчайшего пути в графе заданным алгоритмом

6. Задачи 10-11 из таблицы 1

Дан информационный массив заданной структуры. Для хранения информационного массива использовать заданную по варианту структуру данных

Написать программу реализующие следующие функции:

  1. Заполнение информационного массива пользователем с клавиатуры

  2. Заполнение информационного массива из файла

  3. Добавление записи в информационный массив на указанную позицию

  4. Удаление выбранной записи из информационного массива

  5. Редактирование выбранной записи информационного массива

  6. Сохранение информационного массива, закодированного заданным методом, в двоичный файл

  7. Загрузка содержимого информационного массива из закодированного двоичного файла

Таблица 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

Односвязный список