awesome-everything EN
↑ Обратно к восхождению

Алгоритмы с нуля

Рекурсия и backtracking: тест на припоминание

Суть Промпты на свободное припоминание по всему юниту. Сначала ответьте своими словами, затем откройте модельный ответ и сравните.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на middle-высоте — в небе
◷ 13 min

Припоминание лучше перечитывания. На каждый промпт скажите или запишите полный ответ по памяти, прежде чем откроете модельный ответ. Именно усилие извлечения закрепляет материал.

Цель

Восстановите по памяти ключевые механизмы юнита: две обязательные части рекурсии, как call stack превращает глубину в память, как дерево рекурсии превращает ветвление во время, и шаблон backtracking с pruning.

Вспомните перед уходом
  1. 01
    Каковы две обязательные части любой рекурсивной функции и что идёт не так, если одной из них нет?
  2. 02
    Объясните recursive leap of faith и почему он упрощает написание рекурсивного кода.
  3. 03
    Как call stack определяет пространственную сложность рекурсивной функции и что такое stack overflow?
  4. 04
    Как прочитать временную сложность рекурсивной функции по её дереву рекурсии?
  5. 05
    Сформулируйте шаблон backtracking и объясните, почему шаг undo обязателен.
  6. 06
    Что такое pruning в backtracking и чем различаются subsets, permutations и combinations в одном шаблоне?
Итог

Если вы восстановили каждый ответ по памяти, вы держите хребет юнита: base case плюс настоящий прогресс обеспечивают завершение рекурсии; call stack превращает максимальную глубину в O(глубина) памяти; дерево рекурсии превращает branching factor и глубину во время b^d; а backtracking — это тот же рекурсивный скелет, применённый как choose-explore-undo, с pruning для пропуска обречённых веток и копиями для безопасной записи результатов. Subsets, permutations и combinations — это один шаблон с разными правилами выбора.

Продолжить восхождение ↑Рекурсия и backtracking: чтение кода
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources2
expand
  1. 01
  2. 02

Trademarks belong to their respective owners. Editorial reference only.