Учим Питон
رابط
انقر للعرض
انقر للعرض
Итак, продолжаем читать книгу Бхаргава А. - Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих.
В предыдущей главе мы познакомились с понятием жадности в алгоритмах. Что такое жадность? Жадность - это свойство механизма принятия решений на каждом шаге алгоритма. На каждом шаге алгоритма решение принимается так, чтобы как можно больше приблизиться к цели на этом шаге. К примеру, пусть вам надо доехать из Великого Новгорода во Владивосток. Вы можете либо продумать свой маршрут полностью и получить что-то типа Новгород - Москва - Владивосток, либо применить жадную стратегию и из Новгорода поехать в город, который ближе всего к Владивостоку. Из второго города снова поехать в город, который ближе всего к Владивостоку. В конечном счета у вас может получиться такой маршрут: Новгород - Сыктывкар - Красноярск - Владивосток. Этот маршрут займет больше времени, но он все равно будет достаточно хорош. Иными словами, жадные алгоритмы пытаются оптимально выбирать на каждом шаге, надеясь, что общее решение тоже будет достаточно хорошим (но это не гарантировано).
В следующей главе "9. Динамическое программирование" мы познакомимся с новым подходом к решению задач. И да, с программированием в общепринятом смысле динамическое не связано. Как я уже написал, динамическое программирование представляет ещё один подход к задачами. В этом подходе задача разбивается на подзадачи сходной структуры, которые затем и решаются. Задачи на динамическое программирование довольно часто можно встретить на собеседованиях.
Эту главу я предлагаю читать пару недель. Тема довольно большая, я крайне рекомендую ознакомиться с дополнительными материалами для более глубокого понимания. Если есть вопросы, задаем их в чате тг (https://t.me/learnpythonforfun_chat). Через пару недель я сделаю небольшую выжимку по главе и подготовлю опрос.
Книжка несложная, успехов в прочтении :)
#книжный_клуб #алгоритмы
1.1K ·