Openslaed » Анализ алгоритмов. Вводный курс (Макконнелл Дж.) |
Анализ алгоритмов. Вводный курс (Макконнелл Дж.)
По истечении десятилетия элементная база компьютеров, операционные системы, средства доступа и внешний вид программ меняются коренным образом, однако структуры и алгоритмы, лежащие в их основе, остаются неизменными в течение гораздо большего времени. Эти основы начали закладываться тысячелетия назад, когда были разработаны первые алгоритмы.
B предлагаемой вниманию читателя книге обсуждаются алгоритмы решения наиболее широко распространенных классов задач, покрывающих практически всю область программирования: поиск и сортировка, численные алгоритмы и алгоритмы на графах. Особое внимание уделено алгоритмам параллельной обработки, редко освещаемым в литературе на русском языке.
Книга носит учебный характер. Она может быть использована как вузовскими преподавателями для организации семестрового курса - так и для самостоятельного изучения. Изложение неформальное и чрезвычайно подробное, c большим количеством упражнений, позволяющих вести самоконтроль. Книга может заинтересовать всех, кому приходится самостоятельно писать программы - от программистов банковских систем до научных работников.
Содержание:
Предисловие
1. Основы анализа алгоритмов
1.1. Что такое анализ?
1.2. Что подсчитывать и что учитывать
1.3. Необходимые математические сведения
1.4. Скорости роста
1.5. Алгоритмы вида «разделяй и властвуй»
1.6. Рекуррентные соотношения
1.7. Анализ программ
2. Алгоритмы поиска и выборки
2.1. Последовательный поиск
2.2. Двоичный поиск
2.3. Выборка
2.4. Упражнение по программированию
3. Алгоритмы сортировки
3.1. Сортировка вставками
3.2. Пузырьковая сортировка
3.3. Сортировка Шелла
3.4. Корневая сортировка
3.5. Пирамидальная сортировка
3.6. Сортировка слиянием
3.7. Быстр ал сортировка
3.8. Внешняя многофазная сортировка слиянием
3.9. Дополнительные упражнения
3.10. Упражнения по программированию
4. Численные алгоритмы
4.1. Вычисление значений многочленов
4.2. Умножение матриц
4.3. Решение линейных уравнений
5. Алгоритмы сравнения c образцом
5.1. Сравнение строк
5.2. Приблизительное сравнение строк
5.3. Упражнения по программированию
6. Алгоритмы на графах
6.1. Основные понятия теории графов
6.2. Структуры данных для представления графов
6.3. Алгоритмы обхода в глубину и по уровням
6.4. Алгоритм поиска минимального остовного дерева
6.5. Алгоритм поиска кратчайшего пути
6.6. Алгоритм определения компонент двусвязности
6.7. Разбиения множеств
6.8. Упражнения по программированию
7. Параллельные алгоритмы
7.1. Введение в параллелизм
7.2. Модель PRAM
7.3. Простые параллельные операции
7.4. Параллельный поиск
7.5. Параллельная сортировка
7.6. Параллельные численные алгоритмы
7.7. Параллельные алгоритмы на графах
8. Недетерминированные алгоритмы
8.1. Что такое NP?
8.2. Типичные NP задачи
8.3. Какие задачи относятся к классу NP?
8.4. Проверка возможных решений
9. Другие алгоритмические инструменты
9.1. Жадные приближенные алгоритмы
9.2. Вероятностные алгоритмы
9.3. Динамическое программирование
9.4. Упражнения по программированию
А. Таблица случайных чисел
Б. Генерация псевдослучайных чисел
Б.1. Случайная последовательность в произвольном интервале
Б.2. Пример применения
Б.3. Итоги
В. Ответы к упражнениям
Литература
Год выхода: 2002
Автор: Макконнелл Дж.
Издательство: Техносфера
Серия или Выпуск: Мир программирования
ISBN: 5-94836-005-9
Страниц: 304
Формат: PDF
Качество: Отличное
Язык: Русский
Размер файла: 20,21 Mb
Скачать Анализ алгоритмов. Вводный курс (Макконнелл Дж.)
Наш сайт не предоставляет ссылки на скачивание |
Наш сайт не предоставляет ссылки на скачивание |
Наш сайт не предоставляет ссылки на скачивание |
Наш сайт не предоставляет ссылки на скачивание |