First and foremost, my wife Shannon deserves the highest acknowledgement possible. Some says she’s earned sainthood. Besides being my official grammar checker, she steadfastly stands between me and the world in order to afford me time for pursuits such as this. Thanks seems woefully inadequate to express the depth of my gratitude. May we have another thirty years of happiness together.

A heart felt thank you to my study group (names listed below) who tirelessly reviewed countless revisions of this content. None of this would have been possible without the guiding force of your feedback.

- Daniel Ioppolo
- Howard Reith
- Sanford Schaffer
- Thomas Evans

Finally, the following books are an invaluable resource to any programmer. I made use of each one judiciously for reference. The entire industry owns the authors a great deal of gratitude.

*Introduction to Algorithms, Third Edition*by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein*Algorithms Illuminated (Part 1): The Basics*by Tim Roughgarden*Algorithms Illuminated (Part 2): Graph Algorithms and Data Structures*by Tim Roughgarden*Algorithms Illuminated (Part 3): Greedy Algorithms and Dynamic Programming*by Tim Roughgarden*Algorithms Illuminated (Part 4): Algorithms for NP-Hard Problems*by Tim Roughgarden*Algorithm Design*by Jon Kleinberg and Éva Tardos*Algorithms*by Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani*The Art of Computer Programming*by Donald Knuth