Graph Theory
Graph Theory was developed by Leonhard Euler to solve the 7 bridges of Konigsberg problem.
A graph $G$ is a collection of vertices, $V$, and edges, $E$.
So we say $G = <V,E>$
Here is an example of a graph:
Graph Terminology
Incident - Edges that touch a vertex. Ex. $x$ is incident to $a$ and $b$.
Adjacent - Vertices that are connected. Ex. $a$ is adjacent to $b$; $b$ is adjacent to $a,c,e$
Isolated - Vertices that are not connected. Ex. $d$ is isolated.
The are two types of graphs, undirected and directed. In a directed graph, order matters.
There are two types of “walks”. X-Y walks and closed walks.
def: the number of edges incident to a node is called the degree of a node.
def: A graph is simple if it has no loops of multiple edges.
Graph Coloring Problem
Given graph $G$ and $k$ colors assign a color to each node so that the adjacent nodes get different colors.
Def. Minimum value of $k$ for which such a coloring exists is the chromatic value. $χ(G)$
Basic graph coloring algorithm for $G=(V,E)$
- Order the nodes $V_1, V_2 .. V_n$
- Order the colors $C_1, C_2 .. C_k$
- For $i = 1,2 \ldots n$ assign lowest legal color for $V1$
Topological Sorting
Kahn's Algorithm for Topological Sorting
Video on Kahn's algorithm of topological sorting.
Everyime we visit a vertex, we decrement the number of depencies it has.
This is a good explanation of the Alien Dictionary problem: link.