LCA最近公共祖先 Tarjan离线算法

  学习博客:  http://noalgo.info/476.html 讲的很清楚!

  对于一颗树,dfs遍历时,先向下遍历,并且用并查集维护当前节点和父节点的集合。这样如果关于当前节点(A)的关联节点(B)(及要求的最近祖先的另一个点)之前被访问过,那么

B可定已经属于一个集合,先前对于访问过的点,已经维护了那个点所在集合的根,所以找到B节点所在集合的根,那么这个点就是最近的根,因为对于dfs访问的顺序。

posted @ 2016-02-10 23:53  sweat123  阅读(131)  评论(0编辑  收藏  举报