# lowestCommonAncestors -- determines the lowest common ancestors between two vertexSet

## Synopsis

• Usage:
A = lowestCommonAncestors(D,u,v)
• Inputs:
• D, an instance of the type Digraph
• u,
• v,
• Outputs:
• A, a list, A list of the lowest common ancestors of u and v

## Description

The lowest common ancestors between two vertexSet are the vertexSet that are ancestors of both u and v and are the shortest distance from the vertexSet in the digraph.

 i1 : D = digraph({{0,1},{0,2},{2,3},{3,4},{4,2}},EntryMode=>"edges"); i2 : A = lowestCommonAncestors(D,1,3) o2 = {0} o2 : List

• reverseBreadthFirstSearch -- runs a reverse breadth first search on the digraph and returns a list of the vertexSet in the order they were discovered
• forefathers -- returns the forefathers of a digrah

## Ways to use lowestCommonAncestors :

• "lowestCommonAncestors(Digraph,Thing,Thing)"

## For the programmer

The object lowestCommonAncestors is .