Совершенный алгоритм. Жадные алгоритмы и динамическое программирование — Это третья книга из серии в четырех частях, основанной на моих онлайн-курсах по алгоритмам, регулярно проводимых с 2012 года и которые, в свою очередь, основаны на курсе бакалавриата, многократно преподававшемся мною в Стэнфордском университете. Для читателей этой книги знакомство с первыми двумя частями серии не является обязательным. Тем не менее для усвоения ее содержания читателям желательно иметь хотя бы общее представление об обозначении O-большое (глава 2 части 1 или приложение В части 2), алгоритмах «разделяй и властвуй» (глава 3 части 1) и графах (глава 7 части 2). «Совершенный алгоритм» — это вводный курс (теоретическая основа и многочисленные примеры) по двум фундаментальным парадигмам проектирования алгоритмов. Жадные алгоритмы и их применение. Жадные алгоритмы решают задачи, принимая последовательность близоруких (миопических) и необратимых решений. В большинстве случаев они легко разрабатываются и часто являются невероятно быстрыми. Правда, большинство жадных алгоритмов не гарантируют правильности, но мы по ходу изложения материала рассмотрим несколько уникальных по своим возможностям приложений, являющихся исключениями из этого правила. Примеры включают задачи планирования, оптимальное сжатие и минимальные остовные деревья графов. Динамическое программирование и его применение. Немногие преимущества, обретенные нами вследствие серьезного изучения алгоритмов, способны соперничать с возможностями, которые дает освоение динамического программирования. Эта парадигма проектирования, впрочем, требует обширной практики. Вместе с тем она имеет бесчисленное множество приложений к задачам, которые кажутся неразрешимыми с помощью любого более простого метода. Эффективность этого своеобразного «курса молодого бойца» по динамическому программированию будет удвоена посредством тура по некоторым (см. выше) приложениям указанной парадигмы, включающего рассмотрение задачи о ранце, алгоритм выравнивания геномных последовательностей Нидлмана—Вунша, алгоритм Кнута для оптимальных бинарных деревьев поиска и алгоритмы кратчайшего пути Беллмана—Форда и Флойда—Уоршелла.
Название: Совершенный алгоритм. Жадные алгоритмы и динамическое программирование Автор: Рафгарден Тим Издательство: Питер Год: 2020 Страниц: 256 Формат: PDF Размер: 17,3 МБ Качество: отличное Язык: русский
|