朚構造アルゎリズムIntermediate

最小共通祖先LCA

朚の䞭で2぀の䞎えられたノヌドの祖先である最も深いノヌドを芋぀けたす。蚈算生物孊皮の進化、ネットワヌクルヌティング、バヌゞョン管理システムでの応甚を持぀朚ク゚リの基本操䜜です。様々なアルゎリズムが異なる時間-空間のトレヌドオフを提䟛したす。

#tree#binary-tree#recursion#ancestry

Complexity Analysis

Time (Average)

O(n)

Expected case performance

Space

O(h)

Memory requirements

Time (Best)

O(n)

Best case performance

Time (Worst)

O(n)

Worst case performance

Use 'null' for empty nodes

How it works

  • • Recursively traverse the tree
  • • Find nodes p and q in subtrees
  • • LCA is where both are found
  • • O(n) time, O(h) space
  • • Used in version control systems
Step: 1 / 0
500ms
SlowFast
Keyboard Shortcuts
Space Play/Pause← → StepR Reset1-4 Speed

Real-time Statistics

Algorithm Performance Metrics

Progress0%
Comparisons
0
Swaps
0
Array Accesses
0
Steps
1/ 0

Algorithm Visualization

Step 1 of 0

Initialize array to begin

Default
Comparing
Swapped
Sorted

Code Execution

Currently executing
Previously executed

Implementation

Lowest Common Ancestor (LCA) - Algorithm Vision | Algorithm Vision