Dynamic Programming for Coding Interviews

A Bottom-Up approach to problem solving

Nonfiction, Computers, Programming
Cover of the book Dynamic Programming for Coding Interviews by Meenakshi & Kamal Rawat, Notion Press
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
Author: Meenakshi & Kamal Rawat ISBN: 9781946556707
Publisher: Notion Press Publication: February 20, 2017
Imprint: Notion Press Language: English
Author: Meenakshi & Kamal Rawat
ISBN: 9781946556707
Publisher: Notion Press
Publication: February 20, 2017
Imprint: Notion Press
Language: English
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.
View on Amazon View on AbeBooks View on Kobo View on B.Depository View on eBay View on Walmart
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.

More books from Notion Press

Cover of the book The Other Side Of The Moon by Meenakshi & Kamal Rawat
Cover of the book Crushed Diamond by Meenakshi & Kamal Rawat
Cover of the book Perils of Information Age by Meenakshi & Kamal Rawat
Cover of the book Farrago by Meenakshi & Kamal Rawat
Cover of the book 1000 tips & tricks for traders by Meenakshi & Kamal Rawat
Cover of the book The Beggars Son by Meenakshi & Kamal Rawat
Cover of the book Hauslon kee Udaan / हौसलों की उड़ान by Meenakshi & Kamal Rawat
Cover of the book Love, War & the Power of Supplications by Meenakshi & Kamal Rawat
Cover of the book Mahabharata Retold by Meenakshi & Kamal Rawat
Cover of the book 101 Lentos by Meenakshi & Kamal Rawat
Cover of the book Absolute Delhi by Meenakshi & Kamal Rawat
Cover of the book NLP for TEACHERS by Meenakshi & Kamal Rawat
Cover of the book A Friend like Karna by Meenakshi & Kamal Rawat
Cover of the book SriRam Janmbhoomi Ayodhya Unpunished Conspiracy by Meenakshi & Kamal Rawat
Cover of the book Mystical Healer by Meenakshi & Kamal Rawat
We use our own "cookies" and third party cookies to improve services and to see statistical information. By using this website, you agree to our Privacy Policy