Стивен С. Скиена - Алгоритмы. Руководство по разработке
3-е изданиеНазвание: | Алгоритмы. Руководство по разработке | |
Автор: | Стивен С. Скиена | |
Жанр: | Алгоритмы и структуры данных | |
Изадано в серии: | неизвестно | |
Издательство: | БХВ-Петербург | |
Год издания: | 2022 | |
ISBN: | 978-5-9775-6799-2 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Алгоритмы. Руководство по разработке"
Книга является наиболее полным руководством по разработке эффективных алгоритмов. Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования. Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации. В третьем издании расширен набор рандомизированных алгоритмов, алгоритмов хеширования, аппроксимации и квантовых вычислений. Добавлено более 100 новых задач, даны ссылки к реализациям на С, С++ и Java. Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей.
Читаем онлайн "Алгоритмы. Руководство по разработке" (ознакомительный отрывок). [Страница - 4]
3.4.2. Эффективность двоичных деревьев поиска ............................................................. 112
3.4.3. Сбалансированные деревья поиска .......................................................................... 113
ОСТАНОВКА для РАЗМЫШЛЕНИЙ: Использование сбалансированных деревьев поиска ........ 114
3.5. Очереди с приоритетами ........................ :............................................................................. 115
ОСТАНОВКА для РАЗМЫШЛЕНИЙ: Построение базовых очередей с приоритетами ............. 115
3.6. История из жизни. Триангуляция ........................................................................................ 117
3.7. Хеширование ......................................................................................................................... 121
3.7.1. Коллизии ..................................................................................................................... 121
3.7.2. Выявление дубликатов с помощью хеширования ................................ ,............... ".123
3.7.3. Прочие приемы хеширования ................................................................................... 125
3.7.4. Каноникализация ........................................................................................................ 125
3.7.5. Уплотнение ................................................................................................................. 126
3.8. Специализированные струкrуры данных ........................................................................... 126
3.9. История из жизни. Геном человека ..................................................................................... 127
Замечания к главе ........................................................................................................................ 13 1
3.10. Упражнения ......................................................................................................................... 131
Стеки, очереди и списки .................................................................................................... 13 1
Элементарные струкrуры данных ..................................................................................... 132
Деревья и другие словарные струкrуры ................................................................... " ...... 132
Применение древовидных струкrур ................................................................................. 134
Задачи по реализации ......................................................................................................... 135
Задачи, предлагаемые на собеседовании .......................................................................... 136
LeetCode .............................................................................................................................. 13 7
HackerRank .......................................................................................................................... 13 7
Задачи по программированию ........................................................................................... 137
Указатели и связные структуры данных
Поиск элемента в связном списке
Глава
4.1.
4.
Сортировка и поиск .................................................................................... 138
...................................................................................................... 138
ОСТАНОВКА для РАЗМЫШЛЕНИЙ: Поиск пересечения множеств .......................................... 141
ОСТАНОВКА ДЛЯ РАЗМЫШЛЕНИЙ: Использование хеша для решения задач ......................... 142
Применение сортировки
в
Оглавление
4.2. Практические аспекты сортировки """""""""""""""""""""""""""""""""""""""""".143
4.3. Пирамидальная сортировка .................. " ................. " ............. " .......... "." .... " ...................... 145
4.3 .1. Пирамиды " ................ " ............ " ... " .............................. "" ................. " ..... " ... " .. "" ..... 146
ОСТАНОВКА ДЛЯ РАЗМЫШЛЕНИЙ: Поиск в пирамиде """""""""""""""""""""""""""""".148
4.3.2. Создание пирамиды ......... " .......... "" .................. "" .................. " ... " .. " ... " ... " ....... " .... 148
4.3.3. Наименьший элемент пирамиды """""""""""""""""""""""""""""""""""""""149
4.3.4. Быстрый способ создания пирамиды (*)"""""""""""""""""""""""""""""""""151
ОСТАНОВКА для РАЗМЫШЛЕНИЙ: Расположение элемента в пирамиде """"""" """""""". 15 3
4.3.5. Сортировка вставками ......... " ....... " ... " ......................... " ............ " .................... " ....... 154
4.4. История из жизни. Билет на самолет """"""""""""""""""""""""""".""""""""""""".155
4.5. Сортировка слиянием. Метод «разделяй и властвуй» """"""""""""""""""""""""""".158
4.6. Быстрая сортировка. Рандомизированная версия"""""""""""""""""""""""""""""""160
4.6.1. Интуиция: ожидаемое время исполнения алгоритма быстрой сортировки --">
Книги схожие с «Алгоритмы. Руководство по разработке» по жанру, серии, автору или названию:
Мэттью Джастис - Как на самом деле работают компьютеры. Практическое руководство по внутреннему устройству машины Жанр: Аппаратное обеспечение, компьютерное железо Год издания: 2022 |
Дмитрий Владимирович Невский - Как читать подсказки судьбы. Практическое руководство Жанр: Эзотерика, мистицизм, оккультизм Год издания: 2008 |