Implement graph, tree data structure and apply algorithms