Unit 6: Graph Theory and Graph Algorithms
In this unit, you will learn about graph theory and graph-based algorithms. Graphs are a pervasive data structure in computer science and algorithms working with them are fundamental to the subject. We will review basic concepts of graph and associated terminology. We will also see how we can represent graphs in computer algorithms and use these representations to solve some common problems, such as finding the shortest paths between any two places. You will also get an introduction to trees and a minimum weight spanning tree algorithm.
Completing this unit should take you approximately 10 hours.
6.1: Introduction to Graph Theory
Read this chapter for an introduction to graph theory.
6.2: Paths in Graphs
Read Chapter 4 from S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani's book Algorithms.
6.3: Graph Data Structures
Watch this video to learn about data structures used in graph algorithms.
6.4: Graph Theory Algorithms - Part I
Watch this video to learn about graph theory concepts, greedy algorithms, and minimum spanning trees.
6.5: Graph Theory Algorithms - Part II
Watch this video to learn about shortest path problems.
Complete all questions in this assignment. There is one question on the breadth-first search implementation and one on depth-first search implementation. You can check your answers against the Answer Key.