4 #ifndef FLOWLESSLY_UTILS_H
5 #define FLOWLESSLY_UTILS_H
7 #include <glog/logging.h>
8 #include <gflags/gflags.h>
13 #include "graphs/adjacency_map_graph.h"
15 namespace flowlessly {
23 void BellmanFord(AdjacencyMapGraph* graph,
const set<uint32_t>& active_node_ids,
24 vector<uint32_t>* predecessor);
25 void BellmanFordWithoutPotentials(AdjacencyMapGraph* graph,
26 const set<uint32_t>& active_node_ids,
27 vector<uint32_t>* predecessor);
39 uint32_t DijkstraOptimized(AdjacencyMapGraph* graph,
40 const set<uint32_t>& active_node_ids,
41 vector<uint32_t>* predecessor);
50 void DijkstraSimple(AdjacencyMapGraph* graph,
51 const set<uint32_t>& active_node_ids,
52 vector<uint32_t>* predecessor);
63 void MaxFlow(AdjacencyMapGraph* graph);
70 void ReverseMaxFlow(AdjacencyMapGraph* graph);
73 #endif // FLOWLESSLY_UTILS_H