Skip to content

A collection of graph algorithms for finding connected components, paths between nodes, all directed cycles and more.

License

Notifications You must be signed in to change notification settings

dchaws/GraphAlg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

David Haws
www.davidhaws.org
https://github.com/dchaws

GraphAlg is a collection of graph algorithms initially developed for row
generation for learning Bayesian networks using integer programming.

Some functions include Tarjan's algorithm
http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm
DFS to enumerate all directed cycles, function to return all paths between two
nodes and a number of utility functions to work with adjacency graphs. The
class cycleGenerator implements the algorithm in "A new way to enumerate cycles
in graph" by Liu and Wang, which enumerates all directed cycles in increasing
length. The benefit is that the algorithm can be terminated after outputting
all cycles of a fixed length.

The program listdircycles reads in an adjacency graph of the form

<num node>
<adjacency matrix>

and outputs the directed cycles. Optionally a limit on the cycle size can
be given on the command line. See listdircycles.cpp.

See LICENSE for licensing details. 

About

A collection of graph algorithms for finding connected components, paths between nodes, all directed cycles and more.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages