Очень доброжелательный и компетентный автор. Всегда был на связи, все разъяснил, предоставил несколько вариантов программы. Рекомендую.
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Оглавление
Введение 1
Глава 1. Структуры данных и их классификация 4
Глава 2. Динамические структуры данных 9
2.1.Характеристика динамических структур данных 9
2.2.Определение и классификация динамических структур данных 10
2.2.1.Линейный односвязный список 12
2.2.2.Двухсвязные линейные списки 12
2.2.3.Кольцевой список 13
2.2.4.Очередь 13
2.2.5.Стек 14
2.2.6.Дек 15
Глава 3.Примеры реализации линейных структур 16
3.1.Односвязный список 16
3.2.Двухсвязный список 23
3.3.Кольцевой список 27
Заключение 29
Список использованных источников 30
2.2.Определение и классификация динамических структур данных
Для того, чтобы в процессе выполнения программы произвольно добавлять и удалять данные, необходимо организовать наши данные не в массив, а в нечто другое. Если к элементу данных добавить ещё и указатель, в котором будет храниться адрес какого-то другого элемента, то это и будет кардинальным решением проблемы. Такая организация представления и хранения данных называется динамической структурой данных.
Каждый элемент динамических структур данных состоит из собственно данных и одного или нескольких указателей, ссылающихся на аналогичные элементы. Это позволяет добавлять в динамическую структуру новые данные или удалять какие-то из имеющихся, не затрагивая при этом другие элементы структуры [2,8,12].
Кроме того, динамические структуры позволяют нам организовать данные так, чтобы их представление в программе было максимально приближено к тому, как эти данные выглядят в реальности.
...
2.2.1.Линейный односвязный список
Линейный список — это динамическая структура данных, каждый элемент которой посредством указателя связывается со следующим элементом.
Графически линейный список можно представить следующим образом:
Рисунок 1. – Линейный односвязный список
2.2.2.Двухсвязные линейные списки
В двухсвязном списке каждый элемент имеет поля с данными и два указателя: один указатель хранит адрес предшествующего элемента списка, второй — адрес последующего элемента. Вполне естественно для работы с двухсвязным списком использовать два указателя, хранящие адреса начала и конца такого списка. На рисунке 2 ниже даётся графическое представление двухсвязного списка [7,8].
Рисунок 2. – Линейный двусвязный список
2.2.3.Кольцевой список
Кольцевой список — это список, у которого последний элемент связан с первым. Кольцевой список можно сделать как односвязным, так и двухсвязным. Рассмотрим вкратце односвязный кольцевой список [7,8].
...
Глава 3.Примеры реализации линейных структур
Как мы уже говорили линейный список — это динамическая структура данных, каждый элемент которой посредством указателя связывается со следующим элементом.
Из определения следует, что каждый элемент списка содержит поле данных (Data) (оно может иметь сложную структуру) и поле ссылки на следующий элемент (next). Поле ссылки последнего элемента должно содержать пустой указатель (NULL). Так как ссылка всего одна (только на следующий элемент), то такой список является односвязным [10,12].
3.1.Односвязный список
Когда говорят о линейном списке, то, как правило, подразумевают именно односвязный список.
Пример. Сформировать список, содержащий целые числа 3, 5, 1, 9.
Решение. При работе с динамическими структурами данных можно рекомендовать следующий порядок действий.
а) Прежде всего необходимо определить две структуры:
Заключение
В курсовой работе я попыталась раскрыть более полно и наглядно понятие линейного списка, однонаправленного и двунаправленного списков, стека, дека и очереди.
Главной целью нашей работы было знакомство с теоретическим материалом, касающийся динамических структур данных.
Также были выполнены следующие задачи:
1.Изучение литературы по теме структуры данных
2.Анализ различных структур данных
После выполнения курсовой работы, я пришла к выводу, что:
разумное использование динамических структур данных приводит к сокращению объёма памяти, необходимого для работы программы;
динамические данные не требуют объявлений их как данных фиксированного размера; ряд алгоритмов более эффективен при реализации их с использованием динамических структур.
Например, вставка элемента в массив на определенное место требует перемещения части элементов массива. При вставке в середину списка достаточно несколько операторов присваивания.
...
Список использованных источников
1. Алексеев В.Е., Таланов В.А. Графы и алгоритмы. Структуры данных. Модели вычислений. - М.: Бином, 2009
2. Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман. Структуры данных и алгоритмы. - М.: Вильямс, 2010
3. Арлазаров В.Л., Емельянов Н.Е. Технологии программирования и хранения данных. - Санкт-Петербург: Питер, 2009
4. Бабичев А.В. Распознавание и спецификация структур данных. - Санкт-Петербург, Ленанд, 2009
5. Березин Б.И., С. Б. Березин С.Б.. Начальный курс С и С++. – М.: Диалог-МИФИ, 1998.
6. Берзтисс А.Т. Структуры данных. Переработанное издание. - М: ЁЁ Медиа, 2012
7. Вирт Н. Алгоритмы и структуры данных. - Санкт-Петербург Невский диалект, 2008
8. Гагарина Л.Г., Колдаев В.Д. Алгоритмы и структуры данных. - М.: Финансы и статистика, 2009
9. Дэвис С. С++ для «чайников». – К. : Диалектика, 2009
10. Зубов В. С. Справочник программиста", М.: Полиграфиздат ,1999
11. Кнут Д. Искусство программирования для ЭВМ, том1:Основные алгоритмы, - М.: Вильямс, 2010
12. Кормен Т. и другие Алгоритмы построения и анализ. - М.: МЦНМО, 2000
13. Окулов С. Основы программирования. - Санкт-Петербург: Бином, 2010
14. Павловская Т. А. С/С++. Программирование на языке высокого уровня. – СПб: Питер, 2007
15. Подбельский В. В. Фомин С. С. Программирование на языке Си – М.: Финансы и статистика, 2007
16. Подбельский В.В. Язык СИ++. - М.: Финансы и статистика, 2003.
17. Споров А.Е. Информатика. - М.: Полиграфиздат, 2010
18. Туник. Е.Е. Анализ и интерпретация данных. - Санкт-Петербург: Речь, 2009
19. Электронный задачник по программированию [Электронный ресурс] – Режим доступа: http://ptaskbook.com/
20. Свободная энциклопедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Оглавление
Введение 1
Глава 1. Структуры данных и их классификация 4
Глава 2. Динамические структуры данных 9
2.1.Характеристика динамических структур данных 9
2.2.Определение и классификация динамических структур данных 10
2.2.1.Линейный односвязный список 12
2.2.2.Двухсвязные линейные списки 12
2.2.3.Кольцевой список 13
2.2.4.Очередь 13
2.2.5.Стек 14
2.2.6.Дек 15
Глава 3.Примеры реализации линейных структур 16
3.1.Односвязный список 16
3.2.Двухсвязный список 23
3.3.Кольцевой список 27
Заключение 29
Список использованных источников 30
2.2.Определение и классификация динамических структур данных
Для того, чтобы в процессе выполнения программы произвольно добавлять и удалять данные, необходимо организовать наши данные не в массив, а в нечто другое. Если к элементу данных добавить ещё и указатель, в котором будет храниться адрес какого-то другого элемента, то это и будет кардинальным решением проблемы. Такая организация представления и хранения данных называется динамической структурой данных.
Каждый элемент динамических структур данных состоит из собственно данных и одного или нескольких указателей, ссылающихся на аналогичные элементы. Это позволяет добавлять в динамическую структуру новые данные или удалять какие-то из имеющихся, не затрагивая при этом другие элементы структуры [2,8,12].
Кроме того, динамические структуры позволяют нам организовать данные так, чтобы их представление в программе было максимально приближено к тому, как эти данные выглядят в реальности.
...
2.2.1.Линейный односвязный список
Линейный список — это динамическая структура данных, каждый элемент которой посредством указателя связывается со следующим элементом.
Графически линейный список можно представить следующим образом:
Рисунок 1. – Линейный односвязный список
2.2.2.Двухсвязные линейные списки
В двухсвязном списке каждый элемент имеет поля с данными и два указателя: один указатель хранит адрес предшествующего элемента списка, второй — адрес последующего элемента. Вполне естественно для работы с двухсвязным списком использовать два указателя, хранящие адреса начала и конца такого списка. На рисунке 2 ниже даётся графическое представление двухсвязного списка [7,8].
Рисунок 2. – Линейный двусвязный список
2.2.3.Кольцевой список
Кольцевой список — это список, у которого последний элемент связан с первым. Кольцевой список можно сделать как односвязным, так и двухсвязным. Рассмотрим вкратце односвязный кольцевой список [7,8].
...
Глава 3.Примеры реализации линейных структур
Как мы уже говорили линейный список — это динамическая структура данных, каждый элемент которой посредством указателя связывается со следующим элементом.
Из определения следует, что каждый элемент списка содержит поле данных (Data) (оно может иметь сложную структуру) и поле ссылки на следующий элемент (next). Поле ссылки последнего элемента должно содержать пустой указатель (NULL). Так как ссылка всего одна (только на следующий элемент), то такой список является односвязным [10,12].
3.1.Односвязный список
Когда говорят о линейном списке, то, как правило, подразумевают именно односвязный список.
Пример. Сформировать список, содержащий целые числа 3, 5, 1, 9.
Решение. При работе с динамическими структурами данных можно рекомендовать следующий порядок действий.
а) Прежде всего необходимо определить две структуры:
Заключение
В курсовой работе я попыталась раскрыть более полно и наглядно понятие линейного списка, однонаправленного и двунаправленного списков, стека, дека и очереди.
Главной целью нашей работы было знакомство с теоретическим материалом, касающийся динамических структур данных.
Также были выполнены следующие задачи:
1.Изучение литературы по теме структуры данных
2.Анализ различных структур данных
После выполнения курсовой работы, я пришла к выводу, что:
разумное использование динамических структур данных приводит к сокращению объёма памяти, необходимого для работы программы;
динамические данные не требуют объявлений их как данных фиксированного размера; ряд алгоритмов более эффективен при реализации их с использованием динамических структур.
Например, вставка элемента в массив на определенное место требует перемещения части элементов массива. При вставке в середину списка достаточно несколько операторов присваивания.
...
Список использованных источников
1. Алексеев В.Е., Таланов В.А. Графы и алгоритмы. Структуры данных. Модели вычислений. - М.: Бином, 2009
2. Альфред В. Ахо, Джон Э. Хопкрофт, Джеффри Д. Ульман. Структуры данных и алгоритмы. - М.: Вильямс, 2010
3. Арлазаров В.Л., Емельянов Н.Е. Технологии программирования и хранения данных. - Санкт-Петербург: Питер, 2009
4. Бабичев А.В. Распознавание и спецификация структур данных. - Санкт-Петербург, Ленанд, 2009
5. Березин Б.И., С. Б. Березин С.Б.. Начальный курс С и С++. – М.: Диалог-МИФИ, 1998.
6. Берзтисс А.Т. Структуры данных. Переработанное издание. - М: ЁЁ Медиа, 2012
7. Вирт Н. Алгоритмы и структуры данных. - Санкт-Петербург Невский диалект, 2008
8. Гагарина Л.Г., Колдаев В.Д. Алгоритмы и структуры данных. - М.: Финансы и статистика, 2009
9. Дэвис С. С++ для «чайников». – К. : Диалектика, 2009
10. Зубов В. С. Справочник программиста", М.: Полиграфиздат ,1999
11. Кнут Д. Искусство программирования для ЭВМ, том1:Основные алгоритмы, - М.: Вильямс, 2010
12. Кормен Т. и другие Алгоритмы построения и анализ. - М.: МЦНМО, 2000
13. Окулов С. Основы программирования. - Санкт-Петербург: Бином, 2010
14. Павловская Т. А. С/С++. Программирование на языке высокого уровня. – СПб: Питер, 2007
15. Подбельский В. В. Фомин С. С. Программирование на языке Си – М.: Финансы и статистика, 2007
16. Подбельский В.В. Язык СИ++. - М.: Финансы и статистика, 2003.
17. Споров А.Е. Информатика. - М.: Полиграфиздат, 2010
18. Туник. Е.Е. Анализ и интерпретация данных. - Санкт-Петербург: Речь, 2009
19. Электронный задачник по программированию [Электронный ресурс] – Режим доступа: http://ptaskbook.com/
20. Свободная энциклопедия [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org
| Купить эту работу vs Заказать новую | ||
|---|---|---|
| 0 раз | Куплено | Выполняется индивидуально |
|
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
| Сразу в личном кабинете | Доступность | Срок 1—6 дней |
| 900 ₽ | Цена | от 500 ₽ |
Не подошла эта работа?
В нашей базе 147476 Курсовых работ — поможем найти подходящую