MoonTools.Graph/README.md

25 lines
705 B
Markdown
Raw Normal View History

2019-10-24 00:36:42 +00:00
# MoonTools.Core.Graph
A GC-friendly graph theory library for C# intended for use with games.
## Usage
2019-10-24 05:33:19 +00:00
`Graph` implements various algorithms on the following graph structures:
2019-10-24 00:36:42 +00:00
* Directed
* Directed Weighted
* Directed Weighted Multigraph
* Undirected
2019-10-24 04:29:26 +00:00
* Undirected Weighted
2019-10-24 00:36:42 +00:00
## Notes
2019-10-24 05:34:13 +00:00
`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
2019-10-24 08:10:49 +00:00
* change Neighbors tests to use Equal instead of Contains
* change Edge id from a Guid to an integer index on the edge
2019-10-24 05:34:13 +00:00
* Prim Minimum Spanning Tree
* Kruskal Minimum Spanning Tree
* Undirected Weighted Multigraph