Commit Graph

4 Commits (ed46466b9595c033bee1423b7d547074e3c15cca)

Author SHA1 Message Date
Jordan Liggitt 2d2427b847
gonum: slice-based edge holder
Use slices to store sets of edges for n <= 4.
~20% memory savings with many nodes with n=2 edges.
2017-05-30 15:12:30 -04:00
Jordan Liggitt 385b84ad83
gonum: visiting graph traversal
Use visitors to avoid allocating slices to hold nodes during traversal (and to allow short-circuiting)
Benchmarked at 95% space savings traversing nodes with many edges.
2017-05-30 15:12:30 -04:00
Jordan Liggitt ec1d79da19
gonum: directed acyclic graph
Implements graph.Directed capable of storing at most one edge between any two nodes.
Uses the Undirected implementation for space efficiency (~30% space savings).
2017-05-30 15:12:30 -04:00
Jordan Liggitt b1ac314046
bump(github.com/gonum/graph): 50b27dea7ebbfb052dfaf91681afc6fde28d8796 2017-05-30 15:12:30 -04:00