Skip to content

Typo in Dijkstra's priority queue comparison function breaks Dijkstra #15

@cxcorp

Description

@cxcorp

When creating the min priority queue, the Dijkstra function passes in return cost1, cost2 as the function, causing it to always return cost2:

this.pq = new jss.IndexMinPQ(V, function(cost1, cost2){
return cost1, cost2;
});

It should probably be cost1 - cost2, like:

diff --git a/src/jsgraphs.js b/src/jsgraphs.js index 5409240..1392673 100644 --- a/src/jsgraphs.js +++ b/src/jsgraphs.js @@ -936,7 +936,7 @@ var jsgraphs = jsgraphs || {}; this.edgeTo = []; this.cost = []; this.pq = new jss.IndexMinPQ(V, function(cost1, cost2){ - return cost1, cost2; + return cost1 - cost2; }); for(var v =0; v < V; ++v){ 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions