Take a photo of a barcode or cover
mburnamfink 's review for:
The Algorithm Design Manual
by Steven S. Skiena
Skiena is incredible!
I'll be upfront that I'm a pragmatist as a programmer. I some actual training in data science and machine learning, which is arcane enough on it's own, and a few years experience to call myself Good With Pandas, but the thing about being an autodidact solving a limited set of business problems in Python is that you miss the big picture. In a mature ecosystem like Python, a lot of the time the right answer is just "pip install magiclib. from magiclib import incantation. bar = incantation(foo)" Except sometimes magiclib doesn't exist yet. At the end of the day, computers are all Turing machines, they all solve the same sets of problems, but some approaches are algorithmically tractable, and some will leave you lost in the Swamp of Sadness.

Artax has been asked to solve a large NP complete problem
For someone who's never taken CS101, this book an eye-opener into the hows and whys of basic data structures like linked lists, trees, hash tables, and arrays, as well as sorting techniques and more advanced practices like dynamic programming. Clear explainers are interspersed with practical war stories, where Skiena explains how he applied the technique just discussed to solve a previously intractable problem.
Cracking the Coding interview is a series of dog tricks. The Algorithm Design Manual is actual knowledge. It's been a great guide to actually thinking like a professional, even if most of the day job is data plumbing.
I'll be upfront that I'm a pragmatist as a programmer. I some actual training in data science and machine learning, which is arcane enough on it's own, and a few years experience to call myself Good With Pandas, but the thing about being an autodidact solving a limited set of business problems in Python is that you miss the big picture. In a mature ecosystem like Python, a lot of the time the right answer is just "pip install magiclib. from magiclib import incantation. bar = incantation(foo)" Except sometimes magiclib doesn't exist yet. At the end of the day, computers are all Turing machines, they all solve the same sets of problems, but some approaches are algorithmically tractable, and some will leave you lost in the Swamp of Sadness.

Artax has been asked to solve a large NP complete problem
For someone who's never taken CS101, this book an eye-opener into the hows and whys of basic data structures like linked lists, trees, hash tables, and arrays, as well as sorting techniques and more advanced practices like dynamic programming. Clear explainers are interspersed with practical war stories, where Skiena explains how he applied the technique just discussed to solve a previously intractable problem.
Cracking the Coding interview is a series of dog tricks. The Algorithm Design Manual is actual knowledge. It's been a great guide to actually thinking like a professional, even if most of the day job is data plumbing.