[][src]Module rs_graph::linkedlistgraph

A linked-list based graph implementation.

This is an efficient default implementation of a graph.

LinkedListGraph provides directed arc access (i.e. implements Network).

Node and edge data are stored in an array (Vec), nodes and edges are identified by indices. Forward edges have even indices, backward edges have the odd indices directly following the corresponding forward edge. The external edge index is the edge index shifted right by one bit (the lsb is removed), but a user should not rely on that. The node and edge indices can be retrieved using the IndexGraph and IndexNetwork traits.

LinkedListGraph takes additional parameters for node, edge and biedge attributes, thus, it implements NodeAttributes, EdgeAttributes and BiEdgeAttributes.

LinkedListGraph can be constructed (it implements Builder), but nodes and edges cannot be removed.

Structs

Edge

Edge of a linked list graph.

EdgeIter

An iterator over all edges of a linked list graph.

InEdgeIter

An iterator over all edges entering a certain node.

LinkedListGraph

The linked list based graph data structure.

NeighIter

An iterator over edges adjacent to some node.

Node

Node of a linked list graph.

NodeIter

An iterator over all nodes of a linked list graph.

OutEdgeIter

An iterator over all edges leaving a certain node.