Fabulous Adventures in Data Structures and Algorithms cover
welcome to this free extract from
an online version of the Manning book.
to read more
or
welcome

welcome

 

Thanks for purchasing the MEAP edition of Fabulous Adventures in Data Structures and Algorithms! I appreciate it.

Books that cover the standard undergraduate curriculum for review or interview prep are great, but this book isn’t one of them. Rather, it’s about the odd and unusual data structures and algorithms I encountered in three decades of building developer tools. Most of them I had to learn about to solve a particular problem at work, some of them I encountered as a recreational programmer, all of them changed the way I think about problem solving.

The first third of the book looks at a few of the standard abstract data types such as stacks, queues and trees, but puts a twist on each. We’ll look at the benefits of immutable data structures, and how to use a finger tree to build lists that can be pushed and popped from both ends. And we’ll explore the sometimes astonishing time and space optimizations afforded by memoization.

The middle third looks at some of the algorithms I encountered while building developer tools. We’ll explore how source code formatters use search algorithms to find the best layout, how to find the commonalities between two code changes, and what the relationship is between coloring a map and solving a sudoku puzzle.