Sometimes, the divide and conquer approach seems appropriate but fails to produce an efficient algorithm. If t n is the time required to calculate f n , where f n is the n th Fibonacci number. These results are then used to solve slightly larger problems which are, in turn, saved and used to solve larger problems again.
Dynamic problems obtain their efficiency by solving and storing the answers to small problems.
Thus they usually trade space for increased speed. A general class of algorithms which solve problems by solving smaller versions of the problem, saving the solutions to the small problems and then combining them to solve the larger problem.