Купить бумажную книгу и читать
По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".
Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.
Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.
Автор: Пышкин Е.В.
Название: Структуры данных и алгоритмы: реализация на C/C++
Издательство: СПб.: ФТК СПБГПУ
Год: 2009
Количество страниц: 200
Формат: pdf
Размер: 17 Mb
Для сайта:
Учебное пособие дополняет курс лекций, читаемых студентам Санкт-Петербургского государственного политехнического университета. Рассматриваются основные структуры данных, в том числе связанные типы (списки, деревья, графы) и сложные контейнерные типы (массивы, ассоциативные массивы, стеки и очереди), а также особенности управления подобными типами в компьютерной программе. Применительно к анализу фундаментальных абстракций данных анализируются наиболее важные для проектной практики алгоритмы сортировки, поиска, обработки древовидных структур, алгоритмы лексического и синтаксического анализа и др. Особое внимание уделяется построению алгоритмов, инвариантных к типам обрабатываемых данных – обобщенных алгоритмов, – и методов реализации таких алгоритмов средствами языка C++. Предполагается, что студенты прослушали курс по программированию на языке C/C++ и имеют основные представления о процедурной и объектно-ориентированной парадигме программирования.
Содержание
Алгоритмы и типы данных
Парадигмы программирования
Понятие об императивном программировании
Процедурная парадигма
Основные виды абстракций процедурного программирования
Иерархии процедур и функций
Модульность в процедурном программировании
Типы данных
Структуры и классы
Массивы
Множества
Алгоритмы и способы их записи
Текстуальная форма записи
Схема алгоритма
Псевдокод
Запись в форме программы на языке программирования
Запись алгоритмов функционирования реактивных систем
Построение программной модели конечного автомата
Оценка алгоритмов, рекурсия, сортировка
Постановка задачи внутренней сортировки и подходы к оценке эффективности
Сортировка простыми обменами
Реализация на примере сортировки массива целых чисел
Предварительная оценка эффективности
Улучшенная сортировка простыми обменами
Обобщение решения с использованием функций обратного вызова
Реализация в виде шаблонной функции
Рекурсивные алгоритмы
Задача поиска выхода из лабиринта
Быстрая сортировка Хоара (рекурсивный вариант)
Оценка эффективности быстрой сортировки
Реализация быстрой сортировки в итерационной форме
Другие классические алгоритмы внутренней сортировки и их анализ
Сортировка простыми вставками
Сортировка бинарными вставками
Сортировка Шелла
Сортировка простым выбором
Управление связанными структурами данных
Обработка линейного однонаправленного списка: основные операции
Постановка задачи
Реализация абстракции списка и базового комплекта операций
Определение других операций над списком.
Первоначальное представление об итераторах
Недостатки просмотра списка с использованием внутреннего итератора
Внешнее управление работой внутреннего итератора
Построение внешнего итератора списка
Другие виды списков
Древовидные структуры и их применение
Организация древовидных структур
Бинарные деревья и их применение
Бинарное дерево как вариант организации данных в одномерном массиве
Алгоритм поиска с использованием бинарного дерева
Реализация бинарного поиска для ключей-строк символов (пример)
Алгоритм сортировки с использованием бинарного дерева
Двоичные деревья общего вида: удаление и добавление узлов
Красно-черные деревья как инструмент восстановления
сбалансированности двоичных деревьев
Алгоритмы на графах
Некоторые напоминания из теории графов
Определение графа
Смежность и инцидентность
Подграф
Путь и расстояние
Связность
Древовидный граф
Способы задания
Поиск кратчайшего пути на графе
Структуры данных
Реализация алгоритма
Анализ работы алгоритма
Поиск минимального остовного дерева
Перемешанные таблицы и ассоциативные массивы
Алгоритм поиска по ключу с использованием hash-функций
Понятие hash-функции
Заполнение hash-таблицы
Поиск в подготовленной таблице
Удаление элементов из hash-таблицы
Распознавание служебных слов из фиксированного набора
Ассоциативные массивы
Элементы лексического и синтаксического анализа
Постановка задачи
Лексический анализ
Понятие синтерма: непересекающиеся и пересекающиеся синтермы
Формирование и распознавание синтерма
Использование визуального формализма на базе L-сети в методических целях преподавания
Среда последовательного управления
Среда разветвленного управления
Решение задачи синтаксического анализа логических выражений в форме L-сети
Лексический анализатор в форме L-сети
Синтаксический анализатор в форме L-сети
Элементы реализации на языке C++
Алгоритмы обработки контейнеров
Специализированные контейнеры
Итерируемые специализированные контейнеры
Разработка итерируемого специализированного контейнера
Стандартные контейнеры
Понятие об итерации стандартного контейнера
Разработка контейнеров и алгоритмов, совместимых с STL
Реализация альтернативных вариантов размещения элементов контейнера в памяти
Купить бумажную книгу или электронную версию книги и скачать
По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".
Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.
Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.
Дата создания страницы: