我们当前项目的一个特点是找出两个节点的关系。一个节点可以由另外两个节点一起生成。简单来说,我把它们作为一个家谱,如下所示:
A B
/ \ |
C D E
| \ /
F G
我将编写一个函数来确定两个节点是否是遗传连接的,例如:
is_genetic_connected("D", "F"); // returns true because they have common ancestor: "A"
is_genetic_connected("E", "F"); // returns false
我不确定我们是否可以在这里申请LCA,还是有其他好的算法来解决这个问题?