Thanks for ask the comments. I'm away this week but will address
immediately on my return.

sent while on the move
On Feb 4, 2014 3:51 AM, "John Sichi" <notifications@github.com> wrote:

> In jgrapht-core/src/main/java/org/jgrapht/alg/NaiveLcaFinder.java:
>
> > +     *
> > +     * The rationale for this working is that in each iteration of the loop we are considering all the ancestors of a
> > +     * that have a path of length n back to a, where n is the depth of the recursion. The same is true of b.
> > +     * <p>
> > +     * We start by checking if a == b. <br>
> > +     * if not we look to see if there is any intersection between parents(a) and (parents(b) union b) (and the same with
> > +     * a and b swapped) <br>
> > +     * if not we look to see if there is any intersection between parents(parents(a)) and (parents(parents(b)) union
> > +     * parents(b) union b) (and the same with a and b swapped) <br>
> > +     * continues
> > +     * <p>
> > +     * This means at the end of recursion n, we know if there is an LCA that has a path of <=n to a and b. Of course we
> > +     * may have to wait longer if the path to a is of length n, but the path to b>n. at the first loop we have a path of
> > +     * 0 length from the nodes we are considering as LCA to their respective children which we wish to find the LCA for.
> > +     */
> > +    public NaiveLcaFinder(Graph<V, E> graph) {
>
> Shouldn't this be DirectedGraph?
>
> --
> Reply to this email directly or view it on GitHub<https://github.com/jgrapht/jgrapht/pull/73/files#r9410177>
> .
>