Persistent Graph Implementations.
Signature of persistent graphs.
Edges may be labeled or not:
Vertices may be concrete or abstract:
How to choose between concrete and abstract vertices for my graph implementation?
Usually, if you fall into one of the following cases, use abstract vertices:
In other cases, it is certainly easier to use concrete vertices.
Persistent Directed Graphs.
Bidirectional graphs use more memory space (at worse the double) that standard concrete directional graphs. But accessing predecessors and removing a vertex are faster.