暴力:给定节点u,v,首先对u进行回溯,并沿途标记,再对v进行回溯直到遇到一个被标记的节点,该节点就是u,v的最近公共祖先。
Tarjan算法:需要预先知道所有的询问,并对询问做一些预处理,即把需要询问的一对节点捆绑在一起,该算法主要应用dfs算法和并查集算法。
Tarjan算法样例模拟比较详细的博客:https://www.cnblogs.com/JVxie/p/4854719.html
第三种RMQ(RMQ暂时还不算了解)
参考博客:
https://blog.youkuaiyun.com/zmx354/article/details/18076975