Please note that sorting on weight is already done by add_edge().
*/
-void mst_kruskal(void) {
+static void mst_kruskal(void) {
splay_node_t *node, *next;
edge_t *e;
node_t *n;
Running time: O(E)
*/
-void sssp_bfs(void) {
+static void sssp_bfs(void) {
splay_node_t *node, *to;
edge_t *e;
node_t *n;
myself->status.visited = true;
myself->status.indirect = false;
myself->nexthop = myself;
+ myself->prevedge = NULL;
myself->via = myself;
list_insert_head(todo_list, myself);
e->to->status.visited = true;
e->to->status.indirect = indirect;
e->to->nexthop = (n->nexthop == myself) ? e->to : n->nexthop;
+ e->to->prevedge = e;
e->to->via = indirect ? n->via : e->to;
e->to->options = e->options;
void graph(void) {
subnet_cache_flush();
- sssp_dijkstra();
+ sssp_bfs();
check_reachability();
mst_kruskal();
}