This site's content was compiled from 1993 to 2006. Beyond that, Google is your friend.

Graphs

Maintainer

Jimmy Johnson

Description

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.

Categories

Versions

Links

Features

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).

Supported compilers

Licensing

Google
 
Web eiffelzone.com