Головна▸Статті▸Mathematics

Динамічне програмування

Розбиття складних задач на підзадачі з ефективним пере використанням результатів.

mysimulator teamОновлено — липень 2026≈ 3 хв читання▶ Відкрити симуляцію

Принцип Беллмана

Оптимальне рішення містить оптимальні підрішення. Важливі властивості: оптимальна підструктура і перекриття підзадач.

Підходи

Мемоізація

Топ-даун рекурсія з кешем результатів.

Табуляція

Боттом-ап заповнення таблиці у відповідному порядку.

жива демонстрація · пов'язана симуляція● LIVE

Класичні задачі

0/1 рюкзак, необмежений рюкзак.

Редагування рядків (Левенштейн).

Найкоротші шляхи (DAG, Беллман–Форд).

Розбиття, матричне множення, LIS.

Оптимізації

Стиснення пам’яті (1D/rolling arrays).

Монотонні черги, Knuth/QC оптимізації.

Бітсети для підмножин.

Спробуйте наживо

Усе, що вище, працює прямо у вашому браузері — відкрийте Spirograph і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.

▶ Відкрити симуляцію Spirograph

Що ви знайшли?

Додати кроки відтворення (опційно)