数据结构之深度搜索
来源:互联网 发布:华硕路由器80端口 编辑:程序博客网 时间:2024/05/12 06:37
#include<list> #include<iostream> //Program to print BFS traversal from a given source vertex. BFS(int s) //traverses vertices reachable from s using namespace std;//The class represents a directed graph using adjacency lists typedef struct Node {bool isVisted;int value;};class Graph {int V; //No. of vertices list<Node> *adj;public:Graph(int V); //Constructor ~Graph();void addEdge(int v, int w); //function to add an edge to graph void BFS(int s); //print BFS traversal from a given source s void OutGraph();void DFS(list<Node> *p);void doSearchDFS();bool *vistSigned;};Graph::Graph(int V) {this->V = V;adj = new list<Node>[V];vistSigned = new bool[V];for (size_t i = 0; i < V; i++){vistSigned[i] = false;}}Graph::~Graph() {if (vistSigned != nullptr){delete[]vistSigned;vistSigned = nullptr;}delete[]adj;}void Graph::addEdge(int v, int w){Node t;t.isVisted = false;t.value = w;adj[v].push_back(t);}void Graph::doSearchDFS(){this->DFS(&adj[2]);}void Graph::DFS(list<Node> *p){if (p == nullptr) return;list<Node>::iterator it = p->begin();for (; it != p->end(); it++){if (vistSigned[(*it).value] == false){vistSigned[(*it).value] = true;cout << "value: " << (*it).value << endl; this->DFS(&adj[(*it).value]);}}}int main(){// Create a graph given in the above diagram Graph g(4);g.addEdge(0, 1);g.addEdge(0, 2);g.addEdge(1, 2);g.addEdge(2, 0);g.addEdge(2, 3); g.addEdge(3, 3);cout << "Following is Breadth First Traversal (starting from vertex 2) \n";g.doSearchDFS();return 0;}
0 0
- 数据结构之深度搜索
- 数据结构之深度优先搜索
- 数据结构之图的深度优先搜索
- 数据结构之------深度优先搜索(DFS)
- 【深度优先搜索(DFS)算法】数据结构之图的深度优先搜索算法DFS初试
- 数据结构之深度优先搜索(用栈实现)问题
- 数据结构与算法之深度搜索(理论+代码)
- 数据结构之图(深度优先搜索和广度优先搜索使用的队列和栈)
- Java实现数据结构之深度优先搜索DFS和广度优先搜索BFS
- 迷宫之深度搜索
- 数据结构之二分搜索
- 数据结构----深度优先搜索的应用
- [数据结构] 图的邻接矩阵深度优先搜索
- 【数据结构】算法7.4-7.5 深度优先搜索
- 【数据结构_图_DFS_1068】深度优先搜索
- 【数据结构】图的遍历--深度优先搜索
- 重学数据结构系列之——图的遍历(广度优先搜索和深度优先搜索)学习来源:计蒜客
- 深度优先搜索之 nkoj2221
- RxJava系列3(转换操作符)
- RxJava系列4(过滤操作符)
- ZooKeeper OverView
- RxJava系列5(组合操作符)
- TCP/IP的三次握手与四次挥手详解
- 数据结构之深度搜索
- 51Nod-1281-山峰和旗子
- itpt_TCPL 第三章:控制流
- hdu1166 敌兵布阵
- mysql 给表添加一个联合唯一索引
- 约瑟夫问题(循环链表实现)
- 距离向量路由算法的Java模拟
- 双系统ubuntu14.04无法引导win10问题
- LinkedList