# Graph - Representation - Adjacency list - $\Theta(V + E)$ space and time - Robust and can be modified to incorporate different variants of graphs - Difficult to determine existence of an edge. - Good for sparse graph - Adjacency matrix - $\Theta(V^2)$ space and time - Easily determine edge existence - One bit per edge for unweighted graph - Good for dense or reasonably small graph - Searching the graph - [[bfs|Breadth-first search]] - [[dfs|Depth-first search]] - [[mst|Minimum Spanning Tree]]