LowestCommonAncestors

Find the lowest common ancestor(s)

  1. for each relevant node, find their recursive parents
  2. create the intersection of all of those sets
  3. the LCA are those nodes, that do not have any children in that set

based on https://www.baeldung.com/cs/lowest-common-ancestor-acyclic-graph

class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[A](nodes: Set[A])(parents: A => Set[A]): Set[A]