In sssp_bfs(), never try to update myself.
This commit is contained in:
parent
f75e6f61f2
commit
56a8b90d86
1 changed files with 2 additions and 2 deletions
|
@ -149,7 +149,7 @@ static void sssp_bfs(void) {
|
||||||
abort();
|
abort();
|
||||||
|
|
||||||
for splay_each(edge_t, e, n->edge_tree) { /* "e" is the edge connected to "from" */
|
for splay_each(edge_t, e, n->edge_tree) { /* "e" is the edge connected to "from" */
|
||||||
if(!e->reverse)
|
if(!e->reverse || e->to == myself)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
/* Situation:
|
/* Situation:
|
||||||
|
@ -173,7 +173,7 @@ static void sssp_bfs(void) {
|
||||||
|
|
||||||
if(e->to->status.visited
|
if(e->to->status.visited
|
||||||
&& (!e->to->status.indirect || indirect)
|
&& (!e->to->status.indirect || indirect)
|
||||||
&& (e->to->prevedge && (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight)))
|
&& (e->to->distance != n->distance + 1 || e->weight >= e->to->prevedge->weight))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Only update nexthop if it doesn't increase the path length
|
// Only update nexthop if it doesn't increase the path length
|
||||||
|
|
Loading…
Reference in a new issue