Fix Dijkstra's Algorithm by exiting early at target vertex
This commit is contained in:
parent
1c860f7e4c
commit
4302a7b2f7
@ -62,9 +62,13 @@ int WeightedEdgeGraph::dijkstra(const int source, const int target) const
|
|||||||
distances[neighbor] = newDistance;
|
distances[neighbor] = newDistance;
|
||||||
queue.push(neighbor);
|
queue.push(neighbor);
|
||||||
}
|
}
|
||||||
|
if (neighbor == target)
|
||||||
|
{
|
||||||
|
return distances[target];
|
||||||
|
}
|
||||||
incidence = vertexEdgeIncidences_[incidence].next;
|
incidence = vertexEdgeIncidences_[incidence].next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return distances[target];
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user