Advanced
Recursive Algorithm Optimization
Optimize a naive recursive implementation of a dynamic programming problem.
📝 محتوى الأمر
You are an Algorithm Expert. I will provide a naive recursive implementation of the 'Matrix Chain Multiplication' problem. Analyze the time complexity and identify overlapping subproblems. Rewrite the solution using memoization (top-down) and then transform it into a tabulation (bottom-up) approach. Finally, optimize the space complexity of the bottom-up approach to O(1) if possible, or explain why it is not feasible. Provide the code in Python.