Daa PPTTT
Daa PPTTT
SCHOOL OF COMPUTING
DEPARTMENT OF COMPUTING TECHNOLOGIES
DAA PROJECT
Batch ID:
ROHAN [RA2211003011614]
VISHAL C [RA2211003011647]
BASITH [RA2211003011670]
2
ABSTRACT :
PROBLEM STATEMENT:
1.Optimal Substructure: Dynamic programming is particularly useful for problems that exhibit
optimal substructure, meaning that an optimal solution to the problem can be constructed from
optimal solutions to its subproblems. By breaking down the problem into smaller subproblems and
solving each subproblem optimally, dynamic programming allows us to find the optimal solution to
the overall problem.
3.Memoization: Dynamic programming often employs memoization, a technique where the results
of subproblems are stored in memory for future use. By memorizing the results of subproblems,
dynamic programming avoids recalculating them and reduces the time complexity of the solution.
Memoization is particularly effective in recursive dynamic programming algorithms.
6
4. Time Complexity Optimization: Dynamic programming algorithms are designed to optimize time complexity by efficiently solving subproblems and avoiding redundant computations. This makes dynamic programming suitable for solving problems with large input sizes, as it can provide solutions in polynomial time instead of exponential time.
5. Versatility: Dynamic programming is a versatile technique that can be applied to a wide range of optimization problems across various domains, including computer science, operations research, economics, and bioinformatics. Its adaptability and effectiveness make it a valuable tool for solving complex optimization problems efficiently.
Overall, dynamic programming offers significant advantages in terms of time complexity optimization, memory efficiency, and versatility, making it a preferred approach for solving optimization problems in many real-world scenarios.
7
SOURCE CODE:
8
CODE OUTPUT:
CONCLUSION: