Dynamic Programming for Coding Interviews - Meenakshi, Kamal Rawat

Dynamic Programming for Coding Interviews

Meenakshi, Kamal Rawat

出版社

Notion Press

出版时间

2017-01-16

ISBN

9781946556691

评分

★★★★★
书籍介绍
I wanted to compute 80th term of the Fibonacci series. I wrote the rampant recursive function, int fib(int n){ return (1==n || 2==n) ? 1 : fib(n-1) + fib(n-2); } and waited for the result. I wait… and wait… and wait… With an 8GB RAM and an Intel i5 CPU, why is it taking so long? I terminated the process and tried computing the 40th term. It took about a second. I put a check and was shocked to find that the above recursive function was called 204,668,309 times while computing the 40th term. More than 200 million times? Is it reporting function calls or scam of some government? The Dynamic Programming solution computes 100th Fibonacci term in less than fraction of a second, with a single function call, taking linear time and constant extra memory. A recursive solution, usually, neither pass all test cases in a coding competition, nor does it impress the interviewer in an interview of company like Google, Microsoft, etc. The most difficult questions asked in competitions and interviews, are from dynamic programming. This book takes Dynamic Programming head-on. It first explain the concepts with simple examples and then deep dives into complex DP problems.
用户评论
花这么多篇幅介绍非常基础的内容,也算是有心了。(2021-09-24)
recursion -> memoized -> dynamic programming 书中由浅到深,从自顶向下的递归,到自底向上的动态规划,更多的是一种解决问题的思路培养,非常适合想要掌握动态规划思想的人
收藏