{"product_id":"dynamic-programming-for-coding-interviews-a-bottom-up-approach-to-problem-solving-9781946556691","title":"Dynamic Programming for Coding Interviews: A Bottom-Up Approach to Problem Solving","description":"\u003cp\u003e • Author(s): Kamal Rawat\u003cbr\u003e • Publisher: Notion Press\u003cbr\u003e • Publisher Imprint: Notion Press\u003cbr\u003e • BISAC: Programming - Algorithms\u003c\/p\u003e\u003cp\u003eI wanted to compute 80th term of the Fibonacci series. I wrote the rampant recursive function, \u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e int fib(int n){ \u003cp\u003e\u003c\/p\u003e return (1==n -- 2==n) ? 1: fib(n-1) + fib(n-2); \u003cp\u003e\u003c\/p\u003e } \u003cp\u003e\u003c\/p\u003e and waited for the result. I wait... and wait... and wait... \u003cp\u003e\u003c\/p\u003e 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. \u003cp\u003e\u003c\/p\u003e More than 200 million times? Is it reporting function calls or scam of some government? \u003cp\u003e\u003c\/p\u003e 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. \u003cp\u003e\u003c\/p\u003e 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. \u003cp\u003e\u003c\/p\u003e 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.","brand":"Notion Press","offers":[{"title":"Paperback","offer_id":45545461678231,"sku":"9781946556691","price":771.0,"currency_code":"INR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0666\/3471\/1191\/files\/9781946556691.webp?v=1767676231","url":"https:\/\/atlanticbooks.com\/products\/dynamic-programming-for-coding-interviews-a-bottom-up-approach-to-problem-solving-9781946556691","provider":"Atlantic Books","version":"1.0","type":"link"}