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 breadth-first search (BFS) to find shortest paths from a set of source nodes to all nodes. More... | |
class | BiEdgeConnectedComponents |
Finds the bridges and 2-edge-connected components in a graph. More... | |
class | BiNodeConnectedComponents |
Finds the cutvertices and blocks (2-node-connected 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 depth-first search (DFS). More... | |
class | Dijkstra |
Uses Dijkstra's algorithm to find cheapest paths in a graph. More... | |
class | DisjointSet< T > |
Implementation of the disjoint-set 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 disjoint-set data structure. More... | |
interface | IFlow< TCapacity > |
Interface to a flow in a network. More... | |
interface | IGraph |
Interface to a read-only graph. More... | |
interface | IMatching |
Interface to a read-only 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 Goldberg-Tarjan preflow algorithm. More... | |
interface | IPath |
Interface to a read-only path. More... | |
interface | IPriorityQueue< TElement, TPriority > |
Interface to a priority queue which does not allow duplicate elements. More... | |
interface | IReadOnlyDisjointSet< T > |
Interface to a read-only disjoint-set data structure. More... | |
interface | IReadOnlyPriorityQueue< TElement, TPriority > |
Interface to a read-only 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 2-OPT 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 Goldberg-Tarjan 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 heap-based no-duplicates 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 two-phase 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 two-phase 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. |