Algorithm Recipe Common algorithm implementations for self reference. Graph: Representation: Adjacency List BFS: Basic code Simple search Unweighted graph shortest path Unweighted graph connected component Two coloring graph DFS: Basic code Simple search Undirected graph cycle detection Undirected graph articulation vertices Directed graph edge classification Directed acyclic graph(DAG) topological sort Directed graph check strongly connected Directed graph find strongly connected components Sources: CLRS Skiena