http://www.fullstackprep.dev/articles/dsa/datastructure/directed-acyclic-graph