Satsuma
a delicious .NET graph library
|
Satsuma | |
Drawing | |
ForceDirectedLayout | Attempts to draw a graph to the plane such that a certain equilibrium is attained |
GraphDrawer | Draws a graph on a Graphics |
INodeShape | Abstract base for shapes used to draw graph nodes |
NodeShape | A standard implementation of INodeShape (immutable) |
NodeStyle | The visual style for a drawn node |
PointD | An immutable point whose coordinates are double |
IO | |
GraphML | |
DictionaryProperty< T > | A property which can store values in a dictionary |
GraphMLFormat | Loads and saves graphs stored in GraphML format |
GraphMLProperty | Represents a GraphML property (or attribute) |
NodeGraphics | The visual appearance of a GraphML node |
NodeGraphicsProperty | A GraphML property describing the visual appearance of the nodes |
StandardProperty< T > | Represents a standard GraphML property (attribute), which may assign primitive values to objects |
LemonGraphFormat | Loads and saves graphs stored in the Lemon Graph Format |
SimpleGraphFormat | Loads and saves graphs which are stored in a very simple format |
Arc | Represents a graph arc, consisting of a wrapped Id |
ArcLookupExtensions | Extension methods for IArcLookup |
AStar | Uses the A* search algorithm to find cheapest paths in a graph |
BellmanFord | Finds cheapest paths in a graph from a set of source nodes to all nodes, or a negative cycle reachable from the sources |
Bfs | Performs a breadth-first search (BFS) to find shortest paths from a set of source nodes to all nodes |
BiEdgeConnectedComponents | Finds the bridges and 2-edge-connected components in a graph |
BiNodeConnectedComponents | Finds the cutvertices and blocks (2-node-connected components) of a graph |
Bipartition | Decides whether the graph is bipartite and finds a bipartition into red and blue nodes |
CheapestLinkTsp< TNode > | Solves the symmetric traveling salesman problem by using the cheapest link heuristic |
CompleteBipartiteGraph | A complete bipartite graph on a given number of nodes |
CompleteGraph | A complete undirected or directed graph on a given number of nodes |
ConnectedComponents | Finds the connected components of a graph |
ContractedGraph | Adaptor for identifying some nodes of an underlying graph |
CustomGraph | A graph implementation capable of storing any graph |
Dfs | Performs a customizable depth-first search (DFS) |
Dijkstra | Uses Dijkstra's algorithm to find cheapest paths in a graph |
DisjointSet< T > | Implementation of the disjoint-set data structure |
DisjointSetSet< T > | Represents a set in the DisjointSet data structure |
FindPathExtensions | Extension methods for IGraph, for finding paths |
HamiltonianCycle | Attempts to find a (directed) Hamiltonian cycle in a graph using TSP solvers |
IArcLookup | A graph which can provide information about its arcs |
IBuildableGraph | A graph which can build new nodes and arcs |
IClearable | Interface for objects which can revert their state to default |
IDestroyableGraph | A graph which can destroy its nodes and arcs |
IDisjointSet< T > | Interface to a disjoint-set data structure |
IFlow< TCapacity > | Interface to a flow in a network |
IGraph | Interface to a read-only graph |
IMatching | Interface to a read-only matching |
InsertionTsp< TNode > | Solves the traveling salesman problem by using the insertion heuristic |
IntegerPreflow | Finds a maximum flow for integer capacities using the Goldberg-Tarjan preflow algorithm |
IPath | Interface to a read-only path |
IPriorityQueue< TElement, TPriority > | Interface to a priority queue which does not allow duplicate elements |
IReadOnlyDisjointSet< T > | Interface to a read-only disjoint-set data structure |
IReadOnlyPriorityQueue< TElement, TPriority > | Interface to a read-only priority queue |
ITsp< TNode > | Interface to TSP solvers |
Kruskal< TCost > | Finds a minimum cost spanning forest in a graph using Kruskal's algorithm |
Matching | Adaptor for storing a matching of an underlying graph |
MaximumMatching | Finds a maximum matching in a bipartite graph using the alternating path algorithm |
MinimumCostMatching | Finds a minimum cost matching in a bipartite graph using the network simplex method |
NetworkSimplex | Finds a minimum cost feasible circulation using the network simplex method |
Node | Represents a graph node, consisting of a wrapped Id |
Opt2Tsp< TNode > | Improves a solution for the traveling salesman problem by using the 2-OPT method |
Path | Adaptor for storing a path of an underlying graph |
PathExtensions | Extension methods to IPath |
PathGraph | A path or cycle graph on a given number of nodes |
Preflow | Finds a maximum flow using the Goldberg-Tarjan preflow algorithm |
Prim< TCost > | Finds a minimum cost spanning forest in a graph using Prim's algorithm |
PriorityQueue< TElement, TPriority > | A heap-based no-duplicates priority queue implementation |
RedirectedGraph | Adaptor for modifying the direction of some arcs of an underlying graph |
ReverseGraph | Adaptor for reversing all arcs of an underlying graph |
StrongComponents | Finds the strongly connected components of a digraph |
Subgraph | Adaptor for hiding/showing nodes/arcs of an underlying graph |
Supergraph | Adaptor for adding nodes/arcs to an underlying graph |
TopologicalOrder | Decides whether a digraph is acyclic and finds a topological order of its nodes |
TspUtils | Utilities regarding the traveling salesman problem |
UndirectedGraph | Adaptor showing all arcs of an underlying graph as undirected edges |