Implement the Depth First Search Algorithm in Graph using Simple
- 时间:2020-09-19 10:45:07
- 分类:网络文摘
- 阅读:132 次
Given a graph represented by G(V, E) where V is the vertices and E represents the edges, we can do a Depth First Search Algorithm (DFS) on any node/vertex. The DFS will mark the current node visited and visit the node using using the (*visit) function (C++ function pointer), and recursively call itself with the connected edges.
1 2 3 4 5 6 7 8 9 10 | void traverseDepthFirstSearch(int node, void(*visit)(int)) { link t; (*visit)(k); visited[k] = 1; // mark the node as visited for (t = adj[k]; t != NULL; t = t->next) { if (!visited[t->v]) { // avoid cycle traverseDepthFirstSearch(t->v, visit); } } } |
void traverseDepthFirstSearch(int node, void(*visit)(int)) {
link t;
(*visit)(k);
visited[k] = 1; // mark the node as visited
for (t = adj[k]; t != NULL; t = t->next) {
if (!visited[t->v]) { // avoid cycle
traverseDepthFirstSearch(t->v, visit);
}
}
}
three-nodes
The algorithimic complexity is O(N) where N is the number of nodes connected to the given vertex. The space complexity is also O(N).
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:Online writing: How to be a Successful Freelancer 5 Types of Tools Every Fast-Growing E-commerce Business Should C 5 Simple Steps to Create Great Video Content for a Blog Best Practices for Blogging Securely 5 Tips to Make Sure Your Blogs Works on Every Browser Learn from Business Entrepreneurs Who Take the Time to Train Oth The Story Of Aaron Swartz And How His Death Could Change Compute Smart Finance Tips for Bloggers 8 Ways to Build Up Seed Money to Turn Your Blog into a Business Apple Reveals ARKit At WWDC
- 评论列表
-
- 添加评论