This is the first in a series about core data structures and algorithms.
Many explanations of data structures focus on the implementation — and that is very important — but I’ve always found some context makes it so much easier to learn. And the trade-offs between various data structures is one of the most interesting contexts you can study.


I’ve been programming for many years, and have spent most of the last few years managing development teams. I’ve written plenty of closed source software, and for a time made my living writing 
Thanks to 







