9.0

来源:互联网 发布:淘宝买伟哥专用工具 编辑:程序博客网 时间:2024/06/06 22:56

Topic 9.0

1. Recursive problem can be built off of sub-problems.

Problem beginning with following statements might be recursion: “dsign an algorithm to compute the nth…” “Write code to list the first n…”; “Implement a method to compute all…”; etc..

2. Bottom-Up Recursion: intuitive. Start nowing how to slove for a simple case, like a list with only one element, and figure out how to solve the problem for two elements, then three..aJust think how can build the solution for one case off the previous case.

3. Top-Down Recursion: Think about how can divide the problem for case N into sub-problems. Be careful of overlap between the cases.

4. Dynamic Programming: rarely asked for a 45-minute interview, too difficult.

-->Can be approached as a recursion problem. It is just a little more than recursion where you cache the results. Just implement it as a normal recursive solution, and then add the caching part.

5.  Recusvie vs. Iterative Solutions

-->Recursive is space inefficient, each recursive call adds a new layer to the stack.

-->All recursive code can be implemented iteratively, but maybe much more complex.

原创粉丝点击