Chapter 9: Searching Data Structures and Finding Shortest Paths
This chapter will discuss the searching techniques of graph, tree, and network data structures and practical applications of graph searches. We will introduce and analyze two popular algorithms for related problems: depth-first search (DFS) for graph searches and Dijkstra's algorithm for finding the shortest paths between vertices in networks. Both are introduced on small graphs to build intuitive understanding, and Python implementations are written that can scale up to real-world problems.
In this chapter, we will cover the following topics:
- Searching graph and tree data structures
- Depth-first search algorithm
- The shortest path problem and variations of the problem
- Finding shortest paths with brute force
- Dijkstra's algorithm for finding shortest paths
- Python implementation of Dijkstra's algorithm
By the end of this chapter, you will be able to explain the purpose...