optimal solutions subproblems overlapping subproblems meaning subproblems used solve many different problem instances quicker approach called ' 'dynamic programming'' avoids recomputing solutions already computed example floyd warshall algorithm shortest path goal vertex weighted graph found using shortest path goal adjacent vertices dynamic programming memoization go together main difference dynamic programming divide conquer subproblems less independent divide conquer whereas subproblems overlap dynamic programming
Formal science Computer science Algorithms