Estaba echando un vistazo a this question y luego leyendo sobre Tarjan's least common ancestors algorithm. Nunca me encontré con ninguna aplicación de algoritmos LCA antes. ¿Dónde se utilizan estos al
El siguiente es mi algoritmo para encontrar el primer ancestro común. Pero no sé cómo calcular la complejidad del tiempo, ¿alguien puede ayudar? public Tree commonAncestor(Tree root, Tree p, Tree q) {