Basic directed graph data structure implementation and support DFS and BFS traversals