Graph Theory37 sections · 1633 units
Open in Course

Intro

Finding ancestors fast

In this section, I'll show you how to find the Lowest Common Ancestor (LCA) of two nodes in a tree. The LCA is the deepest node that is an ancestor of both nodes you are looking at.

This concept appears everywhere: version control systems use it to find merge points, file systems use it to find common directories, and competitive programming problems use it constantly. You will learn three approaches: a simple recursive solution, binary lifting for faster queries, and Euler tour with RMQ for the fastest method.

By the end, you will handle LCA queries in O(11) time after preprocessing.

1770082646259-fyuvl5twbv9.jpg