What are the practical applications of the lowest common ancestor algorithms? [closed]
Asked Answered
W

3

6

I was having a look at this question and then reading about Tarjan's least common ancestors algorithm. I never came across any applications of LCA algorithms before.

Where are such LCA algorithms commonly used?

Wapiti answered 22/8, 2010 at 17:19 Comment(1)
Spatial data structure trees in scientific computing, suffix trees for strings in computational biology, etc. Forgot the details, sorry, but it's definitely useful.Hohenstaufen
W
6

In compilers, the LCA of two basic blocks is a place you can put a computation so it is available to both. This might be useful for eliminating common subexpressions, or inserting phi-node for SSA conversion. These algorithms are well evolved and highly optimized, though, so the LCA itself may be hard to see, e.g., SSA and PRE

Winnie answered 22/8, 2010 at 17:37 Comment(0)
I
5

Don't know where it is used, but I have a couple ideas where it might get used:

  • computer graphics: often 3D sceneries get split into cubes which form a tree structure. If you have an object which is contained in two such cubes a LCA algorithm gives you the smallest containing larger cube.

  • analysis of gens in order to find the relationships between species and their lowest common ancestor

  • merge algorithms of version control systems

Indissoluble answered 22/8, 2010 at 17:34 Comment(2)
thanks! version control -> three way merge: en.wikipedia.org/wiki/Merge_(revision_control)#Three-way_mergeWapiti
It is also useful for certain kinds of string processing when looking for root words for different suffixes.Pincers
C
-1

I just wrote a blog post about how I had to implement my own algorithm for this problem (extended to a set of nodes with an arbitrary length) for a taxonomy tree in the context of metagenomics:

http://blog.bio4j.com/2012/02/finding-the-lowest-common-ancestor-of-a-set-of-ncbi-taxonomy-nodes-with-bio4j/

Cheers,

Pablo

Coelenteron answered 9/2, 2012 at 9:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.