Data Structures and Information Retrieval in Python is an introduction to data structures and algorithms using a web search engine as a motivating example. It is based in part on Think Data Structures, which uses Java.
The elements of the search engine are:
The Crawler, which downloads web pages and follows links to other pages,
The Indexer, which builds a map from each search term to the pages where it appears, and
The Retriever, which looks up search terms and finds…