Abstract
Data structure representing a genealogy or genealogies as a stand-alone date structure is presented. Genealogy is considered as a finite, connected graph with nodes ni representing individuals, arcs (ni, nj), ordered pairs of nodes as parent-offspring relationships and edges (ni, nj), unordered pairs of nodes as twinships. Such structure enables storage of the minimum of family relationships and recognition of them and others like ‘ancestor-descendant’, ‘sibs’, ‘twins’, ‘cousins’, ‘uncle/aunt-nephew/niece’ or ‘spouses’. Algorithms for genealogy retrieval are classified as vertical, lateral and parallel. In certain combinations, vertical and lateral algorithms become capable of finding any relatives, no matter if they are in a direct ‘ancestor-descendant’ relationship or if they have only the same ancestor(s). A parallel algorithm is designed in order to search for twins, triplets etc.