Dynamic Programming And Recursion In Data