This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
Well, it isn't a tree, because it doesn't have a root node. So all of those ideas which were tree-based aren't right. As far as I can see it's just a graph -- any node can be connected to any other node.
As for storing the data, you wouldn't usually store data in anything resembling the structure you would use to display it. For example you wouldn't store data which you displayed as a tree in some kind of tree thing, you'd just store the nodes and their relationships in probably a database table or two. Likewise for this: store the nodes and their relationships.