Приведены основные понятия алгоритмизации, свойства алгоритмов, общие принципы их построения, основные алгоритмические конструкции, представлена эволюция языков программирования. Рассмотрен широкий круг методов обработки линейных и нелинейных структур данных. Описана технология функционирования и оценки функции сложности различных алгоритмов для работы с очередями, стеками, списками, деревьями, таблицами и графами. В приложениях приведены системы счисления и методы измерения количества информации. Для студентов, аспирантов, преподавателей, специалистов - от инженера до системного аналитика в области численных методов и компьютерного моделирования. Может быть использовано для самообразования.
Название: Алгоритмы и структуры данных Автор: Гагарина Л. Г., Колдаев В. Д. Издательство: Финансы и статистика; ИНФРА-М Год: 2009 Страниц: 303 Формат: PDF Размер: 135 МБ ISBN: 978-5-279-03351-5, 978-5-16-003682-3 Качество: Хорошее
Содержание:
Предисловие Часть 1. Основы алгоритмизации Глава 1. Структурная организация данных 1.1. Основные понятия структур данных 1.2. Классификация структур данных по признаку изменчивости 1.3. Линейные и нелинейные структуры данных Контрольные вопросы Глава 2. Модели объектов и процессов 2.1. Модели структурные и функциональные 2.2. Модели натурные и информационные 2.3. Классификация моделей 2.4. Этапы моделирования 2.5. Свойства алгоритма 2.6. Виды алгоритмов и их реализация 2.7. Базовые канонические структуры алгоритмов 2.8. Полное построение алгоритма 2.9. Главные принципы создания эффективных алгоритмов Контрольные вопросы Глава 3. Эволюция языков программирования 3.1. Классификация языков программирования по функциональному назначению 3.2. Классификация языков программирования по парадигме (концепции) и методологии программирования 3.3. Классификация языков программирования по типам задач Контрольные вопросы Глава 4. Функция сложности алгоритма 4.1. Виды функции сложности алгоритмов 4.2. Временная функция сложности 4.3. Анализ функции сложности по программе 4.4. Оценка алгоритма бинарного поиска 4.5. Теоретическая и практическая функции сложности Контрольные вопросы Часть 2. Алгоритмы обработки структур данных Глава 5. Методы сортировки 5.1. Сортировка выбором 5.2. Сортировка вставкой и сортировка слиянием 5.3. Сортировка обменом и шейкерная сортировка 5.4. Сортировка Шелла 5.5. Быстрая сортировка (сортировка Хоара) 5.6. Турнирная сортировка 5.7. Пирамидальная сортировка Контрольные вопросы Глава 6. Методы поиска 6.1. Последовательный поиск 6.2. Бинарный поиск 6.3. Фибоначчиев поиск 6.4. Интерполяционный поиск 6.5. Поиск по бинарному дереву 6.6. Поиск по бору 6.7. Поиск хешированием 6.8. Алгоритмы поиска словесной информации Контрольные вопросы Глава 7. Итеративные и рекурсивные алгоритмы 7.1. Итеративный алгоритм 7.2. Рекурсивный алгоритм 7.3. Рекурсивные структуры данных 7.4. Виды обхода бинарных деревьев Контрольные вопросы Глава 8. Основные определения теории графов 8.1. Изоморфизм графов 8.2. Степень вершины графа 8.3. Понятие подграфа 8.4. Циклы на графе 8.5. Цикломатическое число графа 8.6. Представление графов в ПЭВМ Контрольные вопросы Глава 9. Алгоритмы построения остовного (покрывающего) дерева сети 9.1. Метод Крускала 9.2. Метод Прима Контрольные вопросы Глава 10. Алгоритмы нахождения на графах кратчайших путей 10.1. Построение дерева решений 10.2. Метод динамического программирования 10.3. Метод Дейкстры 10.4. Алгоритм Флойда 10.5. Алгоритм Йена 10.6. Алгоритм Беллмана - Форда Контрольные вопросы Глава 11. Эвристические алгоритмы 11.1. Волновой алгоритм 11.2. Двухлучевой алгоритм 11.3. Четырехлучевой алгоритм 11.4. Маршрутный алгоритм 11.5. Геометрическая модель задачи о лабиринте 11.6. Алгоритмы составления расписания 11.7. Задача упаковки 11.8. Задача о джипе 11.9. Задача о кодовом замке Контрольные вопросы Глава 12. Метод ветвей и границ. Задача коммивояжера 12.1. Расшифровка криптограмм 12.2. Задача о радиоактивном шаре 12.3. Задача коммивояжера 12.4. Примеры решения задачи коммивояжера Контрольные вопросы Глава 13. Моделирование с использованием генераторов случайных чисел 13.1. Числовые характеристики случайных величин 13.2. Метод середины квадрата 13.3. Линейный конгруэнтный метод 13.4. Полярный метод генерации случайных чисел Контрольные вопросы Глава 14. Машина Тьюринга 14.1. Структура машины Тьюринга 14.2. Функциональные таблицы и диаграммы 14.3. Примеры записи алгоритмов 14.4. Композиция машин Тьюринга Контрольные вопросы Глава 15. Элементы математической логики 15.1. Алгебра высказываний 15.2. Законы математической логики 15.3. Решение логических задач 15.4. Логические основы ПЭВМ 15.5. Логический синтез вычислительных схем 15.6. Представление логической функции в виде графа 15.7. Проверка истинности заключений из серии посылок Контрольные вопросы Библиографический список Приложение 1. Системы счисления Приложение 2. Измерение количества информации Словарь терминов