I would like to store/represent a phylogeny tree data, in a way that, I can trace back and see,
1) which node is the ancestor of a give node; 2) which nodes are descendants of a give node;
I have made a distance matrix similar to the following sketch
for example to say that H is an ancestor of A; and I and C are descendants of L
Is there any common data structure for such things?
I don't understand the question, what is wrong with the representing the tree as a series of vertices that have a reference to their child nodes and to their parent node. To know the ancestor, take a node and. while you don't reach the root, go to the parent node recursively. For subtrees, just use recursion on the child nodes. while you do not reach a leaf.
Maybe I misunderstood the question.