In sssp_bfs(), never try to update myself.
This commit is contained in:
		
							parent
							
								
									0842bc0ca5
								
							
						
					
					
						commit
						24c3bebc5c
					
				
					 1 changed files with 2 additions and 2 deletions
				
			
		|  | @ -167,7 +167,7 @@ static void sssp_bfs(void) { | |||
| 		} | ||||
| 
 | ||||
| 		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; | ||||
| 
 | ||||
| 			/* Situation:
 | ||||
|  | @ -191,7 +191,7 @@ static void sssp_bfs(void) { | |||
| 
 | ||||
| 			if(e->to->status.visited | ||||
| 			   && (!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; | ||||
| 
 | ||||
| 			// Only update nexthop if it doesn't increase the path length
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue