diff options
author | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2017-01-05 00:26:34 -0500 |
---|---|---|
committer | Marcin Chrzanowski <marcin.j.chrzanowski@gmail.com> | 2017-01-05 11:52:19 -0500 |
commit | 98844eccedfb84fac46c83d59a1298cce491f77b (patch) | |
tree | 52e4ab6f472b59c90f0ae34505daabfec5185333 | |
parent | 02d18af55aaf50b57b3a57891dac74a9b1a36b60 (diff) |
Switch to unordered maps and sets
-rw-r--r-- | src/brandes.cc | 2 | ||||
-rw-r--r-- | src/dependency_calculator.h | 10 | ||||
-rw-r--r-- | src/graph.h | 9 |
3 files changed, 12 insertions, 9 deletions
diff --git a/src/brandes.cc b/src/brandes.cc index 776b263..5060a9d 100644 --- a/src/brandes.cc +++ b/src/brandes.cc @@ -14,7 +14,7 @@ std::string input_file; std::string output_file; Graph graph; -std::map<int, double> betweenness; +std::unordered_map<int, double> betweenness; std::queue<int> vertices_to_process; std::mutex queue_mutex; std::mutex betweenness_mutex; diff --git a/src/dependency_calculator.h b/src/dependency_calculator.h index 1c77991..be6aeb7 100644 --- a/src/dependency_calculator.h +++ b/src/dependency_calculator.h @@ -4,7 +4,7 @@ #include <stack> #include <queue> #include <vector> -#include <map> +#include <unordered_map> #include "graph.h" @@ -24,11 +24,11 @@ private: const Graph &graph_; // (V, E) int vertex_; // s std::stack<int> stack_; // S - std::map<int, std::vector<int>> shortest_path_predecessors_; // P - std::map<int, int> shortest_paths_; // sigma - std::map<int, int> distance_; // d + std::unordered_map<int, std::vector<int>> shortest_path_predecessors_; // P + std::unordered_map<int, int> shortest_paths_; // sigma + std::unordered_map<int, int> distance_; // d std::queue<int> queue_; // Q - std::map<int, double> dependency_; // delta + std::unordered_map<int, double> dependency_; // delta void init_() { for (int vertex : graph_.get_vertices()) { diff --git a/src/graph.h b/src/graph.h index 7d0ae08..f687ff3 100644 --- a/src/graph.h +++ b/src/graph.h @@ -1,7 +1,9 @@ #ifndef GRAPH_H #define GRAPH_H -#include <map> +#include <algorithm> +#include <unordered_map> +#include <unordered_set> #include <vector> class Graph { @@ -33,10 +35,11 @@ public: bool has_out_edges(int vertex) const { return has_out_edges_.count(vertex) > 0; } + private: std::set<int> vertices_; - std::map<int, std::vector<int>> graph_; - std::set<int> has_out_edges_; + std::unordered_map<int, std::vector<int>> graph_; + std::unordered_set<int> has_out_edges_; }; #endif |