Satsuma
a delicious .NET graph library

Namespaces  
package  Drawing 
package  IO 
Classes  
struct  Arc 
Represents a graph arc, consisting of a wrapped Id. More...  
class  ArcLookupExtensions 
Extension methods for IArcLookup. More...  
class  AStar 
Uses the A* search algorithm to find cheapest paths in a graph. More...  
class  BellmanFord 
Finds cheapest paths in a graph from a set of source nodes to all nodes, or a negative cycle reachable from the sources. More...  
class  Bfs 
Performs a breadthfirst search (BFS) to find shortest paths from a set of source nodes to all nodes. More...  
class  BiEdgeConnectedComponents 
Finds the bridges and 2edgeconnected components in a graph. More...  
class  BiNodeConnectedComponents 
Finds the cutvertices and blocks (2nodeconnected components) of a graph. More...  
class  Bipartition 
Decides whether the graph is bipartite and finds a bipartition into red and blue nodes. More...  
class  BridgeDfs 
class  CheapestLinkTsp< TNode > 
Solves the symmetric traveling salesman problem by using the cheapest link heuristic. More...  
class  CompleteBipartiteGraph 
A complete bipartite graph on a given number of nodes. More...  
class  CompleteGraph 
A complete undirected or directed graph on a given number of nodes. More...  
class  ConnectedComponents 
Finds the connected components of a graph. More...  
class  ContractedGraph 
Adaptor for identifying some nodes of an underlying graph. More...  
class  CustomGraph 
A graph implementation capable of storing any graph. More...  
class  Dfs 
Performs a customizable depthfirst search (DFS). More...  
class  Dijkstra 
Uses Dijkstra's algorithm to find cheapest paths in a graph. More...  
class  DisjointSet< T > 
Implementation of the disjointset data structure. More...  
struct  DisjointSetSet< T > 
Represents a set in the DisjointSet data structure. More...  
class  FindPathExtensions 
Extension methods for IGraph, for finding paths. More...  
class  HamiltonianCycle 
Attempts to find a (directed) Hamiltonian cycle in a graph using TSP solvers. More...  
interface  IArcLookup 
A graph which can provide information about its arcs. More...  
interface  IBuildableGraph 
A graph which can build new nodes and arcs. More...  
interface  IClearable 
Interface for objects which can revert their state to default. More...  
class  IdAllocator 
Allocates integer identifiers.  
interface  IDestroyableGraph 
A graph which can destroy its nodes and arcs. More...  
interface  IDisjointSet< T > 
Interface to a disjointset data structure. More...  
interface  IFlow< TCapacity > 
Interface to a flow in a network. More...  
interface  IGraph 
Interface to a readonly graph. More...  
interface  IMatching 
Interface to a readonly matching. More...  
class  InsertionTsp< TNode > 
Solves the traveling salesman problem by using the insertion heuristic. More...  
class  IntegerPreflow 
Finds a maximum flow for integer capacities using the GoldbergTarjan preflow algorithm. More...  
interface  IPath 
Interface to a readonly path. More...  
interface  IPriorityQueue< TElement, TPriority > 
Interface to a priority queue which does not allow duplicate elements. More...  
interface  IReadOnlyDisjointSet< T > 
Interface to a readonly disjointset data structure. More...  
interface  IReadOnlyPriorityQueue< TElement, TPriority > 
Interface to a readonly priority queue. More...  
interface  ITsp< TNode > 
Interface to TSP solvers. More...  
class  Kruskal< TCost > 
Finds a minimum cost spanning forest in a graph using Kruskal's algorithm. More...  
class  LowpointDfs 
Calculates the lowpoint for each node.  
class  Matching 
Adaptor for storing a matching of an underlying graph. More...  
class  MaximumMatching 
Finds a maximum matching in a bipartite graph using the alternating path algorithm. More...  
class  MinimumCostMatching 
Finds a minimum cost matching in a bipartite graph using the network simplex method. More...  
class  NetworkSimplex 
Finds a minimum cost feasible circulation using the network simplex method. More...  
struct  Node 
Represents a graph node, consisting of a wrapped Id. More...  
class  Opt2Tsp< TNode > 
Improves a solution for the traveling salesman problem by using the 2OPT method. More...  
class  Path 
Adaptor for storing a path of an underlying graph. More...  
class  PathExtensions 
Extension methods to IPath. More...  
class  PathGraph 
A path or cycle graph on a given number of nodes. More...  
class  Preflow 
Finds a maximum flow using the GoldbergTarjan preflow algorithm. More...  
class  Prim< TCost > 
Finds a minimum cost spanning forest in a graph using Prim's algorithm. More...  
class  PriorityQueue< TElement, TPriority > 
A heapbased noduplicates priority queue implementation. More...  
class  RedirectedGraph 
Adaptor for modifying the direction of some arcs of an underlying graph. More...  
class  ReverseGraph 
Adaptor for reversing all arcs of an underlying graph. More...  
class  StrongComponents 
Finds the strongly connected components of a digraph. More...  
class  Subgraph 
Adaptor for hiding/showing nodes/arcs of an underlying graph. More...  
class  Supergraph 
Adaptor for adding nodes/arcs to an underlying graph. More...  
class  TopologicalOrder 
Decides whether a digraph is acyclic and finds a topological order of its nodes. More...  
class  TspUtils 
Utilities regarding the traveling salesman problem. More...  
class  UndirectedGraph 
Adaptor showing all arcs of an underlying graph as undirected edges. More...  
class  Utils 
Various utilities used by other classes.  
Enumerations  
enum  ArcFilter { All, Edge, Forward, Backward } 
Allows filtering arcs. Can be passed to functions which return a collection of arcs. More...  
enum  DijkstraMode { Sum, Maximum } 
The path cost calculation mode for Dijkstra's algorithm. More...  
enum  Directedness { Directed, Undirected } 
Tells whether an arc, an arc set or a graph is directed or undirected. More...  
enum  SimplexState { FirstPhase, Infeasible, SecondPhase, Unbounded, Optimal } 
Corresponds to the states of the twophase primal simplex algorithm. More...  
enum  TspSelectionRule { Nearest, Farthest } 
The operation mode of InsertionTsp<TNode>. More...  
enum Satsuma.ArcFilter 
Allows filtering arcs. Can be passed to functions which return a collection of arcs.
enum Satsuma.DijkstraMode 
The path cost calculation mode for Dijkstra's algorithm.
Enumerator  

Sum 
The cost of a path equals to the sum of the costs of its arcs. This is the default mode.

Maximum 
The cost of a path equals to the maximum of the costs of its arcs. In this mode, Dijkstra.Cost can be arbitrary. 
Definition at line 10 of file Dijsktra.cs.
enum Satsuma.Directedness 
enum Satsuma.SimplexState 
Corresponds to the states of the twophase primal simplex algorithm.
Definition at line 32 of file NetworkSimplex.cs.
The operation mode of InsertionTsp<TNode>.
Enumerator  

Nearest 
The node nearest to the current tour is selected for insertion. 
Farthest 
The node farthest from the current tour is selected for insertion. 