A GC-friendly graph theory library for .NET Standard intended for use with games.
Go to file
Evan Hemsley 9aba0a82d8 adds badges to README 2019-10-29 15:01:03 -07:00
.circleci fix deploy path 2019-10-24 11:07:07 -07:00
Graph add CI stuff 2019-10-24 11:00:17 -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
LICENSE add LGPL 3 2019-10-24 11:09:50 -07:00
MoonTools.Core.Graph.sln initial commit 2019-10-21 18:48:27 -07:00
README.md adds badges to README 2019-10-29 15:01:03 -07:00

README.md

MoonTools.Core.Graph

NuGet Badge CircleCI

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