https://diffstudy.com/graph-vs-tree-data-structures/