microsoft /
STL
MSVC's implementation of the C++ Standard Library.
72/100 healthLoading repository data…
agabani / repository
C# library implementation of Dijkstra's algorithm with graph builder.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
Dijkstra's algorithm is an algorithm for finding the shortest paths between nodes in a graph. wikipedia
| Nuget Package Name | Nuget Package URL |
|---|---|
| DijkstraAlgorithm | https://www.myget.org/feed/agabani/package/nuget/DijkstraAlgorithm |
// Create graph
var builder = new GraphBuilder();
builder
.AddNode("A")
.AddNode("B")
.AddNode("C")
.AddNode("D")
.AddNode("E");
builder
.AddLink("A", "B", 6)
.AddLink("A", "D", 1);
builder
.AddLink("B", "A", 6)
.AddLink("B", "C", 5)
.AddLink("B", "D", 2)
.AddLink("B", "E", 2);
builder
.AddLink("C", "B", 5)
.AddLink("C", "E", 5);
builder
.AddLink("D", "A", 1)
.AddLink("D", "B", 2)
.AddLink("D", "E", 1);
builder
.AddLink("E", "B", 2)
.AddLink("E", "C", 5)
.AddLink("E", "D", 1);
var graph = builder.Build();
// Create path finder
var pathFinder = new PathFinder(graph);
// Find path
const string origin = "A", destination = "C";
var path = pathFinder.FindShortestPath(
graph.Nodes.Single(node => node.Id == origin),
graph.Nodes.Single(node => node.Id == destination));
// Assert results
Assert.Equal(path.Origin.Id, origin);
Assert.Equal(path.Destination.Id, destination);
Assert.Equal(path.Segments.Count, 3);
Assert.Equal(path.Segments.Sum(s => s.Weight), 7);
Assert.Equal(path.Segments.ElementAt(0).Origin.Id, "A");
Assert.Equal(path.Segments.ElementAt(0).Weight, 1);
Assert.Equal(path.Segments.ElementAt(0).Destination.Id, "D");
Assert.Equal(path.Segments.ElementAt(1).Origin.Id, "D");
Assert.Equal(path.Segments.ElementAt(1).Weight, 1);
Assert.Equal(path.Segments.ElementAt(1).Destination.Id, "E");
Assert.Equal(path.Segments.ElementAt(2).Origin.Id, "E");
Assert.Equal(path.Segments.ElementAt(2).Weight, 5);
Assert.Equal(path.Segments.ElementAt(2).Destination.Id, "C");
Selected from shared topics, language and repository description—not editorial ratings.
microsoft /
MSVC's implementation of the C++ Standard Library.
72/100 healtharvidn /
an efficient feature complete C++ bittorrent implementation
79/100 healthdpilger26 /
C++ implementation of the Python Numpy library
93/100 healthborglab /
GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.
79/100 healthTencent /
The Paxos library implemented in C++ that has been used in the WeChat production environment.
73/100 healthgflags /
The gflags package contains a C++ library that implements commandline flags processing. It includes built-in support for standard types such as string and the ability to define flags in the source file in which they are used. Online documentation available at:
86/100 health