Graph algorithms and graph theory were discovered a long time ago, but nowadays they are a common practice in a lot of scenarios. The different algorithms that involve graphs are used in lots of applications in our day to day operations. Think of how social networks recommend new friends to you (which are always related to you in some way, such as a friend of a friend of mine) or how a GPS is able to find the shortest path between an origin and a destination. These kinds of problem can be solved with graph algorithm techniques, and we are going to discuss some of them throughout this chapter.
The topics covered in this chapter are as follows:
Learning about graph theory
Data structures for graphs
Depth first search
Breadth first search
Spanning tree
Shortest path
SwiftGraph