Umfassende Programmierung ist ähnlich wie die Trennung und Überwindung des Problems in kleinere und doch kleinere mögliche Teilprobleme. Aber anders als, dividieren und überwinden, werden diese Teilprobleme nicht unabhängig gelöst. Vielmehr werden Ergebnisse dieser kleineren Teilprobleme für ähnliche oder sich überschneidende Teilprobleme in Erinnerung gehalten und verwendet. Dynamische Programmierung wird dort eingesetzt, wo wir Probleme haben, die in ähnliche Teilprobleme unterteilt werden können, so dass ihre Ergebnisse wiederverwendet werden können. Meistens werden diese Algorithmen zur Optimierung verwendet. Vor der Lösung des in-Hand-Subproblems wird dynamischer Algorithmus versuchen, die Ergebnisse der zuvor gelösten Teilprobleme zu untersuchen. Die Lösungen von Subproblemen werden kombiniert, um die beste Lösung zu erreichen. So können wir sagen, dass − Das Problem sollte in die kleinere überlappende Teilproblem unterteilt werden können Subproblem. Eine optimale Lösung kann durch eine optimale Lösung von kleineren Teilproblemen erreicht werden.
user
Was ist dynamische Programmierung? Dynamische Programmierung ist eine Problemlösungstechnik, die für Optimierungsprobleme verwendet wird, bei der das Problem in kleinere, überlappende Subprobleme zerlegt werden kann und die Lösungen dieser Subprobleme in Erinnerung bleiben und zur Lösung ähnlicher oder überlappender Subprobleme verwendet werden. Wie unterscheidet sich dynamische Programmierung von Teilen und Erobern? Dynamische Programmierung ist ähnlich, um das Problem in kleinere Subprobleme aufzuspalten und zu überwinden. Im Gegensatz zu Teilen und Erobern erinnert sich dynamische Programmierung jedoch an die Lösungen dieser kleineren Subprobleme, um ähnliche oder überlappende Subprobleme zu lösen. Was ist Memoization in der dynamischen Programmierung? Memoization ist eine Technik, die in der dynamischen Programmierung verwendet wird, um sich an die Ausgabe bereits gelöster Subprobleme zu erinnern. Dies hilft, die Zeitkomplexität des Algorithmus zu reduzieren. Wie unterscheidet sich dynamische Programmierung von gierigen Algorithmen?
assistant