Studying various algorithms and data structures. This is what has been implemented so far: Directed acyclic graphs: Topological sort Shortest path between two nodes Directed cyclic graphs: Dijkstra algorithm