Book Chapters

Additional material for individual book chapters are in the form of Jupyter notebooks. The notebooks can be downloaded or viewed online.

The notebooks contain code for the algorithms described in the book. They are not Python tutorials; there are many excellent resources if you want to learn the language. However, they do not require a deep understanding of Python. The algorithms are mostly implemented in a few lines of code. If you are learning Python, it's an excellent idea to follow them as you progress with the language.

The code in the notebooks is intented to be used as an example. It is not always written in the most Pythonic way, but rather so that it mirrors the pseudocode given in the book.

If you decide to download the notebooks to experiment with the code, you should also download any example data files used by the notebooks. They are directly linked by the online version of the notebooks, or you can get them from the source.

Finally, you should not use these examples for any production code. The algorithms described here are part of the canon of computer science, and you will be able to find much better, optimized, and thoroughly tested open source implementations.