This site's content was compiled from 1993 to 2006. Beyond that, Google is your friend.
Jimmy Johnson
A cluster based on the concepts of graphs, edges, nodes, and paths.
A graph is a collection of nodes and edges. A node represents a collection of edges. An edge is a connection between two nodes. A path represents is a walk from one node to another along a particular edge starting at a start node.
The base classes are SIMPLE_GRAPH, SIMPLE_NODE, SIMPLE_EDGE, and SIMPLE_PATH. A graph which holds data in the nodes is represented by the VALUED_* casses; a graph which holds data on the edges (a wieghted graph) is represented by the WEIGHTED_* classes. A graph holding data on the nodes and on the edges is represented by WEIGHTED_VALUED_* classes.
The SIMPLE_* classes contain most of the functionality, with the descendent classes simply redefining the anchors or adding one or two features. For example, WEIGHTED_EDGE adds feature 'cost' and a comparison routine 'check_nodes' for dealing with the cost; VALUED_EDGE redefines the anchor 'node_from' to make the nodes at both ends hold values.
Feature 'cost' from class SIMPLE_PATH simply returns the number of edges, while 'cost' from WEIGHTED_PATH attempts to sum the "costs" from each of the edges (if the "cost" of the edges is numeric).