I would recommend Open Data Structures: https://opendatastructures.org/ It's available for free online, or if you'd like you can buy a physical copy. It's got 14 chapters that take you through a variety of data structures, introduces you to the theory behind them, and teaches you the basics of analyzing them. I've done many of the exercises from this book, and found them useful for learning the topic.
Open Data Structures
Pat Morin
Open Data Structures
3 readers recommend it across 2 discussions
Reader recommendations
Love all those books. Hadn't heard of the last one though. Looks like it's available online [1]. And actually, it has a few cool links on its homepage to similar books. In particular, there is a link to this gem [2], which, for example, has a chapter [3] on what appears to be a very interesting generalization [4] of the "master theorem" of CLRS. Another good resource that pages links to seems to be [5], which was recently mentioned on HN. Of course, for an even deeper treatment of asymptotic analysis check out Flajolet and Sedgewick [6]! [1] http://opendatastructures.org/ [2] http://jeffe.cs.illinois.edu/teaching/algorithms/ [3] http://jeffe.cs.illinois.edu/teaching/algorithms/notes/99-re... (http://jeffe.cs.illinois.edu/teaching/algorithms/notes/99-recurrences.pdf) [4] https://en.wikipedia.org/wiki/Akra%E2%80%93Bazzi_method [5] (PDF warning) http://opendatastructures.org/mcs.pdf [6] http://ac.cs.princeton.edu/home/
Also recommended in this reply
- Structure and interpretation of computer programs More by nostalgia than by need - The art of computer programmming - Hacker's delight These two are of great help when doing programming challenges. Hacker's delight is about bitwise tricks. - Open Data Structures Useful for a quick refresh on data structures.
Also recommended in this reply