- •Аннотация к курсовой работе
- •Содержание
- •Введение
- •Постановка задачи
- •Анализ предметной области
- •Стековая память
- •Описание организации структур данных
- •Описание алгоритма
- •Формальное описание входных и выходных данных
- •Описание диалога
- •Описание процедур и функций
- •Результаты
- •Заключение
- •Список литературы
Министерство образования РФ
ФГБОУ ВО «Дагестанский Государственный
Технический Университет»
Факультет КТВТиЭ
Кафедра программного обеспечения ВТ и АС
Курсовая работа
по дисциплине
«Алгоритмы и структура данных»
На тему
«Исследование стека, очереди, дека»
Выполнил:
Студент 3 курса
Группы У-326
Амиргамзаев М.Г.
Приняла:
Сулейманова О.Ш.
Махачкала 2016г.
Аннотация к курсовой работе
В данной курсовой работе рассматриваются основные понятия стека, очереди и дека. Задачи стека, очереди, дека и работа с ними.
Цель курсовой работы: изучение принципов работы стека для организации вычислений на примере теоретико-множественных операций над множествами.
Задачи:
1. Изучить и про анализировать научно-методическую литературу по теме исследования стека, очереди и дека.
2. написать программу демонстрирующую работу стека, очереди и дека на примере теоретико-множественных операций над множествами.
Курсовая работа содержит:
Печатных листов - 46
Рисунков - 4
Приложений - 3
Содержание
Введение…………………………………………………………………………. 4
Постановка задачи ……………………………………………………………… 6
Анализ предметной области……………………………………………………. 7
Описание организации структур данных……………………………………. . 19
Описание алгоритма………………………………………………………….. 20
Формальное описание входных и выходных данных ……………………... 22
Описание диалога……………………………………………………………… 23
Описание процедур функций………………………………………………… 24
Результаты…………………………………………………………………….. 25
Заключение……………………………………………………………………. 26
Литература……………………………………………………………………. 27
Приложение 1…………………………………………………………………. 28
Приложение 2………………………………………………………………….. 34
Приложение 3…………………………………………………………………. 41
Введение
Для решения многих практических задач используются структуры данных – массив, запись, множество и так далее. Цель описания типов данных и последующего описания переменных, как относящихся к этому типу, состоит в том, чтобы зафиксировать на время выполнения программы размер значений, которые присваиваются этим переменным и, соответственно, фиксировать размер выделяемой области памяти для них. Такие переменные называются статическими. Вследствие фиксирования размера выделенной памяти возникают определенные трудности: неэффективное использование оперативной памяти. Нам, во многих случаях, заранее не известны значения той или иной переменной, и даже факт существования этого значения. Для решения задач мы можем использовать только статические переменные, но мы не знаем значения результата и его размеры, поэтому нам бы пришлось выделять место в памяти для максимально возможного итогового значения, что приводит к нерациональному использованию памяти машины. Созданные и не описанные заранее, переменные размещаются на свободные участки в динамической области оперативной памяти. Такой способ распределения памяти называется динамическим. Существуют множество типов динамических структур данных, среди них, такие как стек, очередь, линейные списки, деки, деревья и другие. В некоторых случаях решение задачи эффективней при использовании стеков, в других деревьев, в-третьих, – следующих. В этой работе неполный обзор стеков.
Стек характерен тем, что получить доступ к его элементам можно лишь с одного конца, называемого вершиной стека. В этой курсовой работе реализована программа которая добавляет, удаляет элементы стека и показывает сколько элементов содержит стек.
Очередь характеризуется тем же что и стек, но очередь организованно по другому принципу. В стеке в поле указатель содержится адрес предыдущего информационного поля. В очереди поле указатель содержит адрес следующего элемента.
Дек отличается от стека и очереди тем что доступ к его элементам осуществляется с обеих сторон. Дек содержит два поля указателя, один на предыдущий и другой на следующий.
