A GC-friendly graph theory library for .NET Standard intended for use with games.
Go to file
Evan Hemsley 50f7cda0fe structure for opting out of edge data 2019-10-24 01:10:49 -07:00
Graph structure for opting out of edge data 2019-10-24 01:10:49 -07:00
test structure for opting out of edge data 2019-10-24 01:10:49 -07:00
.gitignore add vscode to ignored 2019-10-23 14:17:20 -07:00
MoonTools.Core.Graph.sln initial commit 2019-10-21 18:48:27 -07:00
README.md structure for opting out of edge data 2019-10-24 01:10:49 -07:00

README.md

MoonTools.Core.Graph

A GC-friendly graph theory library for C# intended for use with games.

Usage

Graph implements various algorithms on the following graph structures:

  • Directed
  • Directed Weighted
  • Directed Weighted Multigraph
  • Undirected
  • Undirected Weighted

Notes

Graph algorithms return lazy enumerators to avoid creating GC pressure. If you wish to hang on to the results of an evaluation, make sure to call ToArray() or ToList() on the IEnumerable.

TODO

  • change Neighbors tests to use Equal instead of Contains
  • change Edge id from a Guid to an integer index on the edge
  • Prim Minimum Spanning Tree
  • Kruskal Minimum Spanning Tree
  • Undirected Weighted Multigraph