Namespace AlgorithmsSW.EdgeWeightedDigraph
Classes
- AcyclicShortestPaths<TWeight>
Algorithm that finds the shortest paths in an edge weighted digraph with no negative cycles.
- BellmanFordWithParentCheckingHeuristic<TWeight>
A Bellman-Ford shortest path algorithm with a heuristic that skips relaxing a vertex if its parent is on the queue.
- CriticalEdgesExamineIntersectingShortestPaths<TWeight>
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
- CriticalEdgesExamineShortestPath<TWeight>
Supports all classes in the .NET class hierarchy and provides low-level services to derived classes. This is the ultimate base class of all .NET classes; it is the root of the type hierarchy.
- Diameter<TWeight>
A class that finds the diameter of a directed graph.
- DijkstraAllPairs<TWeight>
A class for finding the shortest path from a source vertex to all other vertices in a directed edge weighted graph.
- DijkstraBidirectional<TWeight>
A modified version of Dijkstra's algorithm that finds the shortest path from a source to a sink.
- DijkstraLazy<TWeight>
Algorithm to find the shortest path from a source vertex to all other vertices in a edge weighted digraph.
- DijkstraMonotonic<TWeight>
Algorithm to find the shortest path from a source vertex to all other vertices in a edge weighted digraph.
- DijkstraMultiSource
A modified version of Dijkstra's algorithm that finds the shortest path from any source to any vertex.
- DijkstraSets
A modified version of Dijkstra's algorithm that finds the shortest path from any of a set of sources to a set of sinks.
- DijkstraSourceSink<TWeight>
A modified version of Dijkstra's algorithm that finds the shortest path from a source to a sink.
- Dijkstra<TWeight>
Algorithm to find the shortest path from a source vertex to all other vertices in a edge weighted digraph.
- DirectedEdge<TWeight>
Represents a directed edge with a weight.
- DirectedPathComparer<TWeight>
Compares two DirectedPath<TWeight>s by their Distance.
- EdgeWeightedDigraphWithAdjacencyLists<TWeight>
Represents a directed edge weighted graph data structure using adjacency lists.
- EuclideanDistanceDigraph
A digraph where the weight of the edges is the euclidean distance between the vertexes, which are points in 3D space.
- Job<TDuration>
Represents a job with a duration and dependencies on other jobs.
- KShortestPaths<TWeight>
This is an implementation of (a modified) Dijkstra's algorithm that finds the k shortest paths between a source and a target.
- OverlappingYensAlgorithm<TWeight>
This is like YensAlgorithm<TWeight>, but instead of looking for a fixed number of shortest paths, it looks for shortest paths until the intersection among all paths found is empty. This particular version is used to implement a more efficient version of finding critical edges.
- YensAlgorithm<TWeight>
An implementation of Yen's algorithm of finding the k shortest paths between vertices in a directed edge weighted graph.
Interfaces
- ICriticalEdge<TWeight>
Given two nodes, the edges that when any is removed will increases the shortest path between them the most, but not remove all shortest paths.
- IEdgeWeightedDigraph<TWeight>
Represents a directed edge weighted graph data structure.
- IReadOnlyEdgeWeightedDigraph<TWeight>
Represents a read-only directed edge weighted graph data structure.
- IShortestPath<TWeight>
Algorithm to find the shortest path from a source vertex to all other vertices in a edge weighted digraph.