Как оптимизировать алгоритм поиска наименьшего общего предка с O(n^2) до O(n)

алгоритмывременная сложностьнаименьший общий предокоптимизацияструктура данных