ludoviko azuaje wrote:Can you explain what inspired you to write on data structures -the fun way- ?
How did you choose the structures given the broad choice ?
Data Structures the Fun Way actually started as a slightly different project. I was initially working on a book that expanded the non-fiction parts of one of my earlier books, The CS Detective (which I did a
book promotion for years ago). I wrote a few of the data structures chapters early on and kept returning to the theme of the importance of data organization for efficient programs. This made sense given my background. I spent a large part of my graduate studies looking at how we could improve complex spatial searches using data structures, and, since then, it is something I've seen in practice time and again. I quickly realized that I wanted to write a fun introduction to those concepts.
As for choosing the data structures, the goal was to cover specific computational concepts from how data is stored in memory to pruning in tree-based algorithms to the use of mathematical hash functions. The final selection was a combination of covering the core data structures that pop up everywhere (binary search trees, stacks, queues, etc.) and covering some less well known data structures that illustrated specific concepts from computational thinking. For example I included Bloom Filters because they demonstrate how a data structure can save space by giving approximate answers and I included skiplists because they are a great example of the power of randomization.