Finding the shortest path with Dijkstra
Dijkstra's algorithm was initially designed to solve the single-source shortest path problem for a graph. Thus, the algorithm finds the lowest-cost route to everywhere from a single point. We will learn how to make use of it given two different approaches.
Getting ready
The first thing to do is to import the binary heap class from the Game Programming Wiki (GPWiki) into our project, given that neither the .Net framework nor Mono have a defined structure for handling binary heaps or priority queues.
The source file is already in the book's online repository service provider as it is no longer available online.
How to do it...
We will learn how to implement the Dijkstra algorithm using the same number of parameters as the other algorithms, and then explain how to modify it to make maximum use of it according to its original purpose:
- Define the
GetPathDijkstra
function with its internal variables:
public List<Vertex> GetPathDijkstra(GameObject srcObj,...