Как доказать, что заданный алгоритм делает то, что он должен делать?Ключевые идеи индукции и инвариантностиСтандартные методы проектирования: жадные алгоритмы, динамическое программирование и парадигма «разделяй и властвуй»Математическая основа алгоритмовРасширенные алгоритмыЗадания с предельными срокамиОнлайновые алгоритмыШифрование с публичным ключомРешение оптимизационных задачЗадача данной книги проста: разобрать «идеи», лежащие в основе программ, и показать, как доказывать их правильность.Как математически доказать, что заданный алгоритм делает то, что он должен делать? И почему это так важно?Доказывается правильность классических алгоритмов: целочисленного деления, алгоритм Евклида, ранжирования, др. Помимо традиционных алгоритмов, таких как жадные алгоритмы, алгоритмы динамического программирования и алгоритмы «разделяй и властвуй», книга исследует также рандомизированные и онлайновые алгоритмы. Первые стали повсеместными из-за появления криптографии, а вторые необходимы во многих областях, начиная с операционных систем и заканчивая фондовым рынком.Книга усеяна задачами. Большинство задач теоретические, но многие требуют реализации алгоритма; для таких задач используется язык программирования Python 3. Несмотря на свою краткость, издание является математически строгим. Желательно предварительное знакомство с дискретной математикой.Издание предназначено для студентов вузов, специалистов в области информатики и математики, а также широкого круга программистов и разработчиков.
Введение в анализ алгоритмов
ПрочиеКак доказать, что заданный алгоритм делает то, что он должен делать?Ключевые идеи индукции и инвариантностиСтандартные методы проектирования: жадные алгоритмы, динамическое программирование и парадигма «разделяй и властвуй»Математическая основа алгоритмовРасширенные алгоритмыЗадания с предельными срокамиОнлайновые алгоритмыШифрование с публичным ключомРешение оптимизационных задачЗадача данной книги проста: разобрать «идеи», лежащие в основе программ, и показать, как доказывать их правильность.Как математически доказать, что заданный алгоритм делает то, что он должен делать? И почему это так важно?Доказывается правильность классических алгоритмов: целочисленного деления, алгоритм Евклида, ранжирования, др. Помимо традиционных алгоритмов, таких как жадные алгоритмы, алгоритмы динамического программирования и алгоритмы «разделяй и властвуй», книга исследует также рандомизированные и онлайновые алгоритмы. Первые стали повсеместными из-за появления криптографии, а вторые необходимы во многих областях, начиная с операционных систем и заканчивая фондовым рынком.Книга усеяна задачами. Большинство задач теоретические, но многие требуют реализации алгоритма; для таких задач используется язык программирования Python 3. Несмотря на свою краткость, издание является математически строгим. Желательно предварительное знакомство с дискретной математикой.Издание предназначено для студентов вузов, специалистов в области информатики и математики, а также широкого круга программистов и разработчиков.
$0.00
Нет в наличии
Вес | 23 oz |
---|---|
Габариты | 8.5 × 5.7 × 1.0 in |
izdatelstvo | |
authors | |
SKU | 697731 |
Формат, мм | 170×240 |
editors | |
pa_ | 147818 |