Czym jest programowanie dynamiczne?
Lekcja 1 z 15 w kursie Programowanie dynamiczne — podstawy w Coddy.
Programowanie dynamiczne (DP) to technika algorytmiczna służąca do rozwiązywania problemów optymalizacyjnych poprzez rozkładanie ich na prostsze podproblemy i ponowne wykorzystywanie rozwiązań tych podproblemów do rozwiązania pierwotnego problemu.
DP jest często stosowane w problemach, których rozwiązanie można wyrazić rekurencyjnie za pomocą mniejszych podproblemów. Technikę tę nazywa się „dynamiczną”, ponieważ rozwiązania podproblemów można zapisywać i ponownie wykorzystywać do rozwiązywania większych problemów, dzięki czemu proces jest wydajniejszy niż rozwiązywanie większego problemu od zera.
DP można stosować do różnych problemów, takich jak najkrótsza ścieżka, najdłuższy wspólny podciąg i maksymalna suma podtablicy. Jest szczególnie przydatne, gdy problem ma nakładające się podproblemy i optymalną podstrukturę, co oznacza, że optymalne rozwiązanie problemu można skonstruować z optymalnych rozwiązań jego podproblemów.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Wszystkie lekcje w sekcji Programowanie dynamiczne — podstawy
1Wprowadzenie do programowania dynamicznego
Czym jest programowanie dynamiczne?Dlaczego jest ważne?Zastosowania w różnych dziedzinach4Zaawansowane zagadnienia
Minimalna długość podtablicyPrzycinanieOptymalizacja pamięciMaskowanie bitów3Algorytmy programowania dynamicznego
Najdłuższy wspólny podciągProblem plecakowyProblem wydawania resztyOdległość edycyjnaPoćwicz samodzielnie: Kompilator Python online