Graphs and Graph Models
Before going through this lesson, I've only encountered graphs in a Data Structures and Algorithms course I took a while ago. I was aware that graphs were discrete structures consisting of vertices and edges that connect these vertices. But I have never really dived deep into their different types and real-world applications. It was only when I studied this week’s lesson that I realized how ubiquitous graphs really are in our digital world.
The types of graphs are as follows:
- Simple graph
- Multigraph
- Pseudograph
- Directed graph
- Directed multigraph
Regardless of which type of graph we are dealing with, roads between cities are used as the prime example of real-world application of graphs. It just takes a certain level of understanding to identify which type of graph one should use, as established in the week’s Problem Set. I can imagine how Google Maps is implemented as a large graph of every street as an edge and every destination as a vertex. I also assume that its direction-finding feature is based on a Shortest-Path finding algorithm similar to Dijkstra's algorithm.
I find that from video games to web-based networks, the possibilities are certainly endless with the applications of this abstract concept. Even the search engine for Google itself was once based on a network of interconnected hyperlinks modeled as graphs. I look forward to creating meaningful programs that utilize graphs and their unique properties. Such possibilities, especially in this era of Artificial Intelligence and Quantum Computing, makes Computer Science a very exciting field to be involved in.