I'm going to start a scientific project about automata and graph theory, and I'm searching for a graph library that supports features like:
- directed/undirected graphs
- graph isomorphism test (i.e. is graph g1 isomorphic w.r.t. g2?)
- subgraph isomorphism test (i.e. is a graph g1 isomorphic to a subgraph of g2?)
- graph search, visits and such
- possibly, quite fast since I need to make some serious computations
I know about the Boost Graph Library, but it lacks subgraph testing as far as I understood from its documentation.
So, my question is: which are the best c++ graph libraries, please? They do not have to provide support for every feature I need, I know it's certainly possible that no existing library fits perfectly my needs.
You could use iGraph: http://igraph.sourceforge.net/ which is a C library which should satisfy what you are after.
There is also
http://ubietylab.net/ubigraph/, there is a related SO post here: https://stackoverflow.com/questions/2751826/which-c-graph-library-should-i-use.I have not used ubigraph so cannot comment on that, I mainly use networkX and iGraph
UPDATE
It seems that ubigraph is dead now so only igraph is maintained currently
You may use Cliquer library http://users.tkk.fi/pat/cliquer.html for all calculations related to finding cliques.