Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634840)
Контекстум
Руконтекст антиплагиат система

Алгоритмы и структуры данных (190,00 руб.)

0   0
Первый авторНазаренко П. А.
ИздательствоИзд-во ПГУТИ
Страниц130
ID565114
АннотацияУчебное пособие «Алгоритмы и структуры данных» содержит теоретический материал по основным структурам данных и их практической реализации в языках программирования Си/Си++ и Паскаль. Приведена классификация структур данных. Рассмотрены основные алгоритмы обработки структур данных, включая создание и удаление элементов, прохождение, сортировку и поиск, с их реализациями на языках программирования Си/Си++ и Паскаль.
Кому рекомендованоУчебное пособие разработано в соответствии с Федеральным государственным образовательным стандартом высшего профессионального образования по направлению подготовки 02.03.03 – «Математическое обеспечение и администрирование информационных систем» и предназначено для студентов третьего курса факультета информационных систем и технологий, а также для студентов других специальностей, изучающих и использующих структуры данных и алгоритмы их обработки, преподавателей, магистрантов и аспирантов.
УДК004.65+004.43
ББК32.973
Назаренко, П.А. Алгоритмы и структуры данных : учеб. пособие / П.А. Назаренко .— Самара : Изд-во ПГУТИ, 2015 .— 130 с. — URL: https://rucont.ru/efd/565114 (дата обращения: 26.04.2024)

Предпросмотр (выдержки из произведения)

Н Алгоритмы и структуры данных: учебное пособие / П. А. Назаренко – Самара : ПГУТИ, 2015. <...> Учебное пособие «Алгоритмы и структуры данных» содержит теоретический материал по основным структурам данных и их практической реализации в языках программирования Си/Си++ и Паскаль. <...> С этой целью удобно использовать кольцевую очередь (логический уровень), которая в работающей программе может быть реализована при помощи одномерного массива как непрерывного блока в памяти или при помощи связного списка, допускающего разнесѐнное размещение в памяти своих элементов (физический уровень). <...> По уровню сложности структуры данных разделяются на: 1. простые структуры – обычные переменные или константы стандартных для языков программирования типов, а также динамические переменные этих же типов; 2. наборы однотипных данных – массивы одномерные (или векторы), двумерные (матрицы) и многомерные; 3. составные структуры, отличные от массивов – записи и объекты классов и им подобные структуры; 4. динамические структуры с внутренними связями – связные списки, деревья, графы. <...> С точки зрения архитектуры можно выделить: 1. линейные структуры – одномерные массивы (или векторы), линейные списки, линейные очереди, стеки; 2. прямоугольные структуры – двумерные (матрицы) и многомерные массивы; 3. кольцевые структуры – кольцевые списки, кольцевые очереди, некоторые реализа9 ции графов; 4. ветвящиеся структуры – деревья различных видов, некоторые реализации графов; 5. сетевые структуры – графы. <...> 1.2 – Составные статические структуры данных Неоднородные (агрегативные) Простые записи Вариантные записи Объединения Объекты 13 Данные динамической структуры Файлы Текстовые Типизированные Нетипизированные Линейной структуры Односвязные Очередь Стек Дек Список Многосвязные Многосвязный список Рис. <...> Поле, состоящее из 8 битов называется байтом, причем левый двоичный разряд имеет наибольший вес и счита14 Многосвязный кольцевой список Несвязанные <...>
Алгоритмы_и_структура_данных_Методические_указания_по_выполнению_лабораторных_работ._Ч._1_Базовые_структуры_данных_и_алгоритмы.pdf
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования «ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ» Кафедра информационных систем и технологий П. А. Назаренко АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ Учебное пособие Самара 2015 2
Стр.2
УДК 004.65+ 004.43 ББК 32.973 Н 19 Рекомендовано к изданию методическим советом ПГУТИ, протокол № от . .2015 г. Рецензент: профессор кафедры ИВТ ПГУТИ, к. т. н., доцент Алексеев А. П. Назаренко, П. А. Н Алгоритмы и структуры данных: учебное пособие / П. А. Назаренко – Самара : ПГУТИ, 2015. – 196 с. Учебное пособие «Алгоритмы и структуры данных» содержит теоретический материал по основным структурам данных и их практической реализации в языках программирования Си/Си++ и Паскаль. Приведена классификация структур данных. Рассмотрены основные алгоритмы обработки структур данных, включая создание и удаление элементов, прохождение, сортировку и поиск, с их реализациями на языках программирования Си/Си++ и Паскаль. Учебное пособие разработано в соответствии с Федеральным государственным образовательным стандартом высшего профессионального образования по направлению подготовки 02.03.03 – «Математическое обеспечение и администрирование информационных систем» и предназначено для студентов третьего курса факультета информационных систем и технологий, а также для студентов других специальностей, изучающих и использующих структуры данных и алгоритмы их обработки, преподавателей, магистрантов и аспирантов. ISBN Назаренко П. А., 2015 3
Стр.3
Содержание Введение ………………………………………………….... 1. Понятие о структурах данных …………………………. 1.1. Основные определения ……………………………. 1.2. Уровни структур данных ………………………….. 1.3. Классификация структур данных …………………. 1.4. Информация и ее представление в памяти ЭВМ .... 2. Простые структуры и типы данных …………………... 2.1. Понятие о типах данных …………………………... 2.2. Перечисляемый тип данных ………………………. 2.3. Стандартные типы данных ………………………... 2.4. Указатели ………………………………………….... 2.5. Алгоритмы обработки простых структур данных .. 3. Линейные статические структуры данных …………… 3.1. Массивы …………………………………………….. 3.2. Динамические массивы ……………………………. 3.3. Многомерные массивы ……………………………. 3.4. Связь массивов с указателями …………………….. 3.5. Строки ………………………………………………. 3.6. Массивы указателей ……………………………….. 3.7. Интерпретация составных описателей …………… 3.8. Алгоритмы обработки статических линейных структур ...................................................................... 4. Ссылки. Временные структуры данных ………………. 5. Составные типы данных ……………………………….. 5.1. Структуры ………………………………………..… 5.2. Битовые поля ……………………………………….. 5.3. Объединения ……………………………………….. 6. Файлы …………………………………………………… 7. Очереди …………………………………………………. 7.1. Кольцевая очередь …………………………………. 7.2. Приоритетная очередь ……………………………... 7.3. Дек …………………………………………………... 8. Стеки …………………………………………….....….… 9. Связные списки ………………………………………… 9.1. Линейный односвязный список …………………... 9.2. Линейный двусвязный список …………………….. 9.3. Операции с двусвязным списком …………………. 9.4. Кольцевые списки …………………………………. 9.5. Процедуры работы с двусвязным кольцевым списком на языке Си++ ……………………………. 9.6. Многосвязные списки ……………………………... 10. Древовидные структуры данных …………………….. 10.1. Классификация …………………………………… 10.2. Двоичные деревья поиска ………………………... 10.3. Операции с деревьями ……………………………. 10.4. Сбалансированные деревья ……………………… 10.5. Многоключевые деревья …………………………. 11. Элементы теории графов ……………………………... 11.1. Способы представления графов …………………. 11.2. Алгоритмы на графах …………………………….. 5 8 8 9 10 17 20 20 22 22 30 38 41 41 42 43 46 49 50 51 53 56 59 59 62 63 67 72 76 80 81 83 90 92 100 101 103 106 108 111 112 113 117 135 143 145 145 154 4
Стр.4
12. Поиск …………………………………………………... 12.1. Последовательный поиск ………………………… 12.2. Двоичный поиск ………………………………….. 12.3. Специальные виды поиска ……………………….. 13. Сортировка …………………………………………….. 13.1. Классификация алгоритмов сортировки ……...… 13.2. Пузырьковая сортировка ………………………… 13.3. Сортировка отбором ……………………………… 13.4. Сортировка вставками ……………………………. 13.5. Алгоритм Шелла ………………………………….. 13.6. Алгоритм быстрой сортировки ………………….. 13.7. Параллельная сортировка Бэтчера ………………. Заключение ………………………………………………... Библиографический список ……………………………… 158 158 160 163 166 166 169 174 177 180 184 188 192 193 5
Стр.5
Введение Структуры данных – необходимые компоненты любой программы или программного комплекса. Поэтому знание теории структур данных и, в частности, методов представления данных на логическом и машинном уровнях, а также допустимых операций над различными структурами, необходимо для глубокого изучения и уяснения таких разделов, как автоматизированные системы управления, компиляторы языков программирования, операционные системы, а также системы программного имитационного моделирования, управления базами данных, искусственного интеллекта и т.д. Выбор структур данных является одним из важных этапов разработки программ и от правильности этого выбора зависит эффективность программы, трудоѐмкость еѐ написания и время решения программой тех задач, ради которых она создавалась. Это же справедливо и для алгоритмов обработки данных и их структур. Появление в составе современных языков программирования библиотек и классов структур данных, например, векторов, списков, различных видов деревьев, карт и т.п. не отменяет необходимости знания высококвалифицированными специалистами тонкостей использования этих структур данных и алгоритмов их обработки. Учебное пособие по дисциплине «Алгоритмы и структуры данных» предназначено для того, чтобы помочь студентам полнее усвоить соответствующий лекционный курс, подготовиться к выполнению лабораторных работ по этой дисциплине и заложить основы дальнейшего более глубокого изучения конкретных алгоритмов обработки данных и вопросов практического применения специфических структур данных. Настоящее учебное пособие предназначено для студентов специальностей «Технология программирования», «Информационные системы и технологии», «Разработка программно-информационных систем», «Управление и информатика в технических системах» и других. Предполагается, что студенты, в зависимости от специальности, изучили дисциплины «Программирование», «Дискретная математика», «Вычислительная математика», «Технология программирования». Отдельные разделы пособия имеют связь с курсом «Базы данных». В процессе изучения курса студенты познакомятся с основными типами структур данных – списковыми, древовидными, сетевыми, файловыми; основными алгоритмами обработки структур данных – пополнением, удалением, поиском, прохождением, упорядочением; будут получены навыки разработки алгоритмов обработки структур данных. Текст учебного пособия разбит на 13 разделов, каждый из которых посвящѐн отдельной группе структур данных с операциями их обработки, или группе алгоритмов, например, поиску или сортировке. К сожалению, ограниченный объѐм издания не позволяет подробно рассмотреть все алгоритмы обработки данных и их структур в их огромном многообразии, но базовые алгоритмы, составляющие основу этой дисциплины, рассматриваются в обязательном порядке. Структуры данных и алгоритмы обработки данных и их структур рассматриваются в большом количество книг и других источников, перечисленных в библиографическом указателе, все из которых в той или иной степени были использованы при составлении учебного пособия. Несмотря на то, что отдельные книги были изданы около 40 лет назад, изложенная в них теория структур данных или алгоритмов их обработки до сих пор не потеряла своего значения. Некоторые из авторов этих книг являются лауреатами премии Алана Тьюринга, так же как и создатели отдельных рассматриваемых в пособии алгоритмов. Библиографический список не претендует на абсолютную полноту, да это и невозможно, учитывая, что книги по алгоритмам и структурам данных публикуются или переиздаются практически каждый год. Для углублѐнного изучения структур данных и алгоритмов предлагается использовать какие-либо из этих источников. Можно, например, порекомендовать книги Томаса Кормена с соавторами [1], Роберта Седжвика [14 – 18] и подобные [12, 20]. Из многочисленных Интернет-источников выбраны наиболее заслуживающие доверия. При составлении учебного пособия его автор опирался на требования федерального государственного образовательного стандарта по дисциплине «Структуры и алгоритмы компьютерной обработки данных» для специальности «Технология программирования». 6
Стр.6