Unlike a tree data structure, a directed acyclic graph can have diamond-shaped edge/branch that rejoin.
For example, in a dependency graph:
- when a library A depends on the libraries B and C,
- and the libraries B and C depend together on D,
The dependency graph takes the form of a diamond .