文件名称:FamilyTree
介绍说明--下载内容均来自于网络,请自行研究使用
最近公共祖先的家谱树
1. 正确构造了家谱树,实现了简单的查询:如查找祖先,查找家长,查找孩子,
查找兄弟,查找配偶,遍历所有家族成员等等。
2. 正确实现了插入,删除,结婚等操作。
3. 实现了一些复杂的查询,如:查找某人的所有子孙,查找某人的兄弟姐妹,部
分实现了给出两人,查询称呼的功能。(但对于过分复杂的关系暂时还不能实现。)
新增功能
1. 正确实现了不相交集合类(disjointSet.h)。
2. 正确利用并查集实现了LCA(Least Common Ancestor)功能,能够查找任意
两家族成员的最近共同祖先。
二. 问题分析
1. 这个问题涉及到了树这一数据结构,采用了孩子兄弟链(二叉树,左孩子右
兄弟)的方式来解决这个问题。用递归的观点解决了大部分的查询问题和遍历问题。-FamilyTree using Tarjan Algorithm
1. 正确构造了家谱树,实现了简单的查询:如查找祖先,查找家长,查找孩子,
查找兄弟,查找配偶,遍历所有家族成员等等。
2. 正确实现了插入,删除,结婚等操作。
3. 实现了一些复杂的查询,如:查找某人的所有子孙,查找某人的兄弟姐妹,部
分实现了给出两人,查询称呼的功能。(但对于过分复杂的关系暂时还不能实现。)
新增功能
1. 正确实现了不相交集合类(disjointSet.h)。
2. 正确利用并查集实现了LCA(Least Common Ancestor)功能,能够查找任意
两家族成员的最近共同祖先。
二. 问题分析
1. 这个问题涉及到了树这一数据结构,采用了孩子兄弟链(二叉树,左孩子右
兄弟)的方式来解决这个问题。用递归的观点解决了大部分的查询问题和遍历问题。-FamilyTree using Tarjan Algorithm
(系统自动生成,下载前可以参看下载内容)
下载文件列表
FamilyTree\DisjointSets.h
..........\main.cpp
..........\people.cpp
..........\people.h
..........\ReadMe.doc
..........\tree.cpp
..........\tree.h
FamilyTree
..........\main.cpp
..........\people.cpp
..........\people.h
..........\ReadMe.doc
..........\tree.cpp
..........\tree.h
FamilyTree