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.
"synopsis" may belong to another edition of this title.
DP is one of the most complex problem solving approaches in computer science. At the same time, benefits that DP provide are huge, it usually reduces the time taken from exponential to polynomial. So getting it right is very important.
In most algorithm books, there is one chapter dedicated to DP, that discuss related concepts like optimal substructure, overlapping sub-problems, memoization, etc. And then there are few complex examples to showcase working of DP.
The approach we have followed in this book is that we have one chapter for each concept. And while discussing the concepts, we have taken very simple examples, so that focus remains on the concept. Once the concept is understood, we deep dive into complex problem solving.
Kamal Rawat is a software developer, trainer, author and an entrepreneur. He has first-hand experience of implementing full life cycle of large scale desktop, Cloud and Mobile applications across various domains and platforms.
He had been a technical architect in complex projects like Microsoft OneNote, Adobe Photoshop and Samsung GalaxyConnect. He has also been in the core interview panel of Microsoft, Adobe and many start-ups.
Since 2006, he is coaching students on how to crack programming interviews. Before leaving his job to pursue his passion full-time, Kamal was working as Senior SDE at Microsoft.
Meenakshi hold master’s degree in Computer science. She left her job and co-founded Ritambhara Technologies (www.ritambhara.in).
She maintains an amazing work-life balance, wearing multiple hats, be it head of a technical start-up, a certified yoga trainer or mother to two kids at home.
Problem-solving and optimizing comes naturally to her.
"About this title" may belong to another edition of this title.
Shipping:
FREE
Within U.S.A.
Seller: SecondSale, Montgomery, IL, U.S.A.
Condition: Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00085480106
Quantity: 1 available
Seller: ThriftBooks-Dallas, Dallas, TX, U.S.A.
Paperback. Condition: Good. No Jacket. Pages can have notes/highlighting. Spine may show signs of wear. ~ ThriftBooks: Read More, Spend Less 1.1. Seller Inventory # G1946556696I3N00
Quantity: 1 available
Seller: GreatBookPrices, Columbia, MD, U.S.A.
Condition: New. Seller Inventory # 29283294-n
Quantity: Over 20 available
Seller: BargainBookStores, Grand Rapids, MI, U.S.A.
Paperback or Softback. Condition: New. Dynamic Programming for Coding Interviews: A Bottom-Up Approach to Problem Solving 0.44. Book. Seller Inventory # BBS-9781946556691
Quantity: 5 available
Seller: GreatBookPrices, Columbia, MD, U.S.A.
Condition: As New. Unread book in perfect condition. Seller Inventory # 29283294
Quantity: Over 20 available
Seller: California Books, Miami, FL, U.S.A.
Condition: New. Seller Inventory # I-9781946556691
Quantity: Over 20 available
Seller: Russell Books, Victoria, BC, Canada
Softcover. Condition: New. Special order direct from the distributor. Seller Inventory # ING9781946556691
Quantity: Over 20 available
Seller: THE SAINT BOOKSTORE, Southport, United Kingdom
Paperback / softback. Condition: New. This item is printed on demand. New copy - Usually dispatched within 5-9 working days 232. Seller Inventory # C9781946556691
Quantity: Over 20 available
Seller: GreatBookPricesUK, Woodford Green, United Kingdom
Condition: New. Seller Inventory # 29283294-n
Quantity: Over 20 available
Seller: GreatBookPricesUK, Woodford Green, United Kingdom
Condition: As New. Unread book in perfect condition. Seller Inventory # 29283294
Quantity: Over 20 available