Tree.java : » Science » jung-2-2_0_1 » edu » uci » ics » jung » graph » Java Open Source
|jung 2 2_0_1 » edu » uci » ics » jung » graph » Tree.java|
* Created on Feb 3, 2007
* Copyright (c) 2007, the JUNG Project and the Regents of the University
* of California
* All rights reserved.
* This software is open-source under the BSD license; see either
* "license.txt" or
* http://jung.sourceforge.net/license.txt for a description.
* A subtype of <code>Graph</code> which is a (directed, rooted) tree.
* What we refer to as a "tree" here is actually (in the terminology of graph theory) a
* rooted tree. (That is, there is a designated single vertex--the <i>root</i>--from which we measure
* the shortest path to each vertex, which we call its <i>depth</i>; the maximum over all such
* depths is the tree's <i>height</i>. Note that for a tree, there is exactly
* one unique path from the root to any vertex.)
* @author Joshua O'Madadhain
public interface Tree<V,E> extends Forest<V,E>
* Returns the (unweighted) distance of <code>vertex</code>
* from the root of this tree.
* @param vertex the vertex whose depth is to be returned.
* @return the length of the shortest unweighted path
* from <code>vertex</code> to the root of this tree
* @see #getHeight()
public int getDepth(V vertex);
* Returns the maximum depth in this tree.
* @return the maximum depth in this tree
* @see #getDepth(Object)
public int getHeight();
* Returns the root of this tree.
* The root is defined to be the vertex (designated either at the tree's
* creation time, or as the first vertex to be added) with respect to which
* vertex depth is measured.
* @return the root of this tree
public V getRoot();