>>24
Binary search trees are excellent when you have a list of items that you need to search quickly, but by design has several features that make it inappropriate for your application. Most importantly, each node only has two children and they are ordered such that the left_node < parent_node < right_node.
When designing your data structure, think about your constraints. Each node (person) has up to two known parents (unless you count adoptive parents, then maybe more), and may have zero or more children. Also, the structure may not strictly be a tree as incestuous relationships can occur that cross generational boundaries.
You should consider how your data will be used, as it will help determine how much redundant/pre-calculated/process data you wish to store to speed things up.
(Of course, you can use a binary search tree if you wanted to index a particular piece of information such as surname or date of death. But the information you want to store doesn't fit that data structure alone.)