A directed acyclic graph (DAG), is a finite directed graph with no directed cycles.
Unlike a tree data structure, a directed acyclic graph can have diamond-shaped edge/branch that rejoin.
For example, in a dependency graph:
The dependency graph takes the form of a diamond .