std::map<T, bool> visited;
101visited[adjlist.first] =
false;
103visited[
node] =
false;
108std::queue<T> tracker;
113visited[src] =
true;
114 while(!tracker.empty()) {
117T
node= tracker.front();
123 if(!visited[neighbour]) {
125tracker.push(neighbour);
127visited[neighbour] =
true;
141std::map<int, bool> correct_result;
145correct_result[0] =
true;
146correct_result[1] =
true;
147correct_result[2] =
true;
148correct_result[3] =
true;
150std::map<int, bool> returned_result = g.breadth_first_search(2);
152assert(returned_result == correct_result);
153std::cout <<
"Test 1 Passed..."<< std::endl;
156returned_result = g.breadth_first_search(0);
158assert(returned_result == correct_result);
159std::cout <<
"Test 2 Passed..."<< std::endl;
164g2.
add_edge(
"Gorakhpur",
"Lucknow",
false);
165g2.
add_edge(
"Gorakhpur",
"Kanpur",
false);
166g2.
add_edge(
"Lucknow",
"Agra",
false);
167g2.
add_edge(
"Kanpur",
"Agra",
false);
168g2.
add_edge(
"Lucknow",
"Prayagraj",
false);
169g2.
add_edge(
"Agra",
"Noida",
false);
171std::map<std::string, bool> correct_res;
172std::map<std::string, bool> returned_res =
174correct_res[
"Gorakhpur"] =
false;
175correct_res[
"Lucknow"] =
false;
176correct_res[
"Kanpur"] =
true;
177correct_res[
"Agra"] =
true;
178correct_res[
"Prayagraj"] =
false;
179correct_res[
"Noida"] =
true;
180assert(correct_res == returned_res);
181std::cout <<
"Test 3 Passed..."<< std::endl;
188std::cout <<
"Enter the number of edges: ";
193std::cout <<
"Enter space-separated pairs of vertices that form edges: " 201g.breadth_first_search(0);
std::map< T, bool > breadth_first_search(T src)
void add_edge(T u, T v, bool bidir=true)
std::map< T, std::list< T > > adjacency_list
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4