After searching a lot, I found that the Graph ADT suits the above problem better. Since a family has relations over a wide span in all directions, using a graph ADT would be conventional.
- Each node can store details about a person.
- Node can consist of parent node links, and some functionalities to find relation between two nodes etc..
- To find relationships, assume the parent nodes as the Parents, and the parent of the parent nodes as grandparents etc..
- Traverse to the parent node, find if there is any other child nodes, mark them as siblings etc..
The idea is this, I think it will help to solve this problem!