Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovaya_rabota_Kirillova_Christina_8K21.doc
Скачиваний:
74
Добавлен:
29.05.2015
Размер:
840.19 Кб
Скачать

Министерство образования и науки российской федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ

ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Институт – Институт кибернетики

Направление – Прикладная информатика

Кафедра – ОСУ

Курсовая работа

по курсу «Типы и структуры данных»

Выполнила студентка гр. 8К21 ______ К.Н. Кириллова_

Подпись Дата

Проверил доцент кафедры ОСУ ________ _______ __О.Б.Фофанов__

должность Подпись Дата

2014 год

Оглавление:

Оглавление: 2

1.Задание на выполнение курсовой работы. 3

2.Моделирование абстрактных типов данных (АТД) для различных реализаций. 4

2.1.Постановка задачи 4

2.2.Краткое теоретические положения. 4

2.3.Результат работы программы 5

3.Поиск информации в файлах данных. 6

3.1.Постановка задачи 6

3.2.Краткое теоретическое описание 6

3.3.Результаты работы программы 7

4.Исследование эффективности алгоритмов сортировок для различных структур и размерностей данных 9

4.1.Постановка задачи 9

4.2.Результаты работы программы 14

5.Реализация структур данных типа дерево и типовые алгоритмы их обработки 16

5.1.Постановка задачи 16

5.2.Теоретические положения. 16

5.3.Результаты работы программы 17

6.Реализация функций расстановки (хеширование) и различных методов разрешения коллизий 18

6.1.Постановка задачи 18

6.2.Краткое теоретическое положение. 18

6.3.Результаты работы программы 19

Литература 21

Приложение А 22

Приложение Б 25

Приложение В 29

\ 35

Приложение Г 35

Приложение Д 44

  1. Задание на выполнение курсовой работы.

Вариант 10.

Целью курсовой работы является закрепление материала, изучаемого в предыдущем семестре по дисциплине «Структуры и алгоритмы обработки данных»: программирование реальных заданий с использованием наиболее распространенных в информационных технологиях структур данных и алгоритмов их обработки.

Курсовая работа включает следующие разделы:

1. Моделирование абстрактных типов данных (АТД) для различных реализаций (табличное, списковое, комбинированное и т.д.).

2. Поиск информации в различных структурах данных с использованием типовых схем поиска.

3. Исследование эффективности алгоритмов сортировок для различных структур и размерностей данных.

4. Реализация структур данных типа дерево и типовые алгоритмы их обработки.

5. Реализация функций расстановки (хеширование) и различных методов разрешения коллизий.

  1. Моделирование абстрактных типов данных (атд) для различных реализаций.

    1. Постановка задачи

Реализовать процедуры перемещения элементов одно-связанного списка в стек и наоборот. Список реализуется с помощью указателей, стек – массивом.

    1. Краткое теоретические положения.

Абстрактный тип данных(АТД)— это тип данных, который предоставляет для работы с элементами этого типа определённый наборфункций, а также возможность создавать элементы этого типа при помощи специальных функций. Впрограммированииабстрактные типы данных обычно представляются в видеинтерфейсов, которые скрывают соответствующие реализации типов.

Основные операции:

  • Insert (x, e) – вставляет элемент е в позицию х

  • Locate (e) – возвращает позицию элемента е в списке

  • Retrieve (x) – возвращает элемент, находящийся в позиции x

  • Delete (x) – удаляет элемент с позиции х

  • Next (е) – возвращает следующую позицию после е

  • Previous (е) – возвращает предыдущую позицию перед е

  • Makenull() – делает список пустым

  • Head() – возвращает первую позицию в списке

  • Tail() – возвращает последнюю позицию в списке

  • Printlist() – печатает элементы списка в порядке их расположения

Примеры АТД:

  1. Список

  2. Стек

  3. Очередь

  4. Ассоциативный массив

  5. Очередь с приоритетом

  • Стек— абстрактный контейнер, доступ к элементам которого организован по принципу «последним вошёл — первым вышел»

  • Стек может быть реализован на односвязном списке. Стек также можно реализовать на массиве. Основное ограничение, связанное с подобной реализацией, — конечный размер стека, переполнение которого нужно дополнительно отслеживать. Кроме того, при реализации на статических массивах стек будет всегда занимать объём памяти, пропорциональный максимальному количеству элементов (так как внутри стека объявлен массив фиксированного размера).

    1. Результат работы программы

Рис. 1. Пример работы 1-ой части программы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]