Q. In dynamic programming, the technique used to store the results of subproblems to avoid redundant computations is known as