It's not a tree though.
A tree doesn't have connected leaves and branches. This is, however, common with classes that might get injected the same dependency
And, yes, in theory this adds cycles which aren't allowed. However, since class dependencies are better represented as directed connections (which aren't usually used for trees in CS terms), it isn't a true cycle.