graphlib
Copyright (C) Afonso Ribeiro & Baltasar Dinis
Purpose
To implement a general purpose graph library in C++
, with focus on efficiency.
We also aim to provide flexibility to the user, supporting different representations.
Representations
To begin with we will support two implementations
- Adjacency matrix
- Adjacency list
Also, there will be differences in implementing
- Non-directional graphs
- Directional graphs
- Non-directional multigraphs
- Directional multigraphs
Nodes
The nodes will hold a value, and also contain some private data.
- Colour, to help implement algorithms such as DFS
- Listing of in connections and out connections
Algorithms
To begin with, lets aim for these:
-
Tarry
-
Tremaux
-
BFS
-
DFS
-
Djikstra
-
Kruskal
-
Ford-Fulkerson
-
Finding SCC
-
Finding eulerian paths
-
Finding hamiltonian cicles
-
Others?