最近公共祖先LCA的两种算法Tarjan和倍增
最近公共祖先LCA
问题描述
对于给定的无向图G(V,E),∣V∣=n,∣E∣=mG(V,E),|V|=n,|E|=mG(V,E),∣V∣=n,∣E∣=m是一棵有根树,对于树上的两个节点u,vu,vu,v必然存在一条简单路径记为Path(u,v)Path(u,v)Path(u,v),定义这条路径上深度最小的点为u,vu,vu,v的最近公共祖先,简写为LCALCALCA.
解决方案
倍增算法
倍增算法是由暴力算法优化而来的,即通过将u,vu,vu,v节点逐层向上移动的方式来得到u,vu,vu,v的最近公共祖先
原创
2020-10-11 19:52:41 ·
191 阅读 ·
0 评论