Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT
正在生成预览...
Tài liệu giảng dạy về thuật toán Depth-First Search (DFS) và Depth-First Traversal, bao gồm các ví dụ minh họa, mã giả, cách cài đặt bằng stack và các ứng dụng trong tìm đường đi trên đồ thị.
描述
Depth-First Search 1. 2. 3. From the given vertex, visit one of its adjacent vertices and leave others; Then visit one of the adjacent vertices of the previous vertex; Continue the process, visit the graph as deep as possible until: A visited vertex is reached; An end vertex is reached. Depth-First Traversal 1. 2. 3. 4. 5. 6. 7. Depth-first traversal of a graph: Start the traversal from an arbitrary vertex; Apply depth-first search; When the search terminates, backtrack to the previous vertex of the finishing point, Repeat depth-first search on other adjacent vertices, then backtrack to one level up. Continue the process until all the vertices that are reachable from the starting vertex are visited. Repeat above processes until all vertices are visited. 0 source 0 8 9 2 4 3 source 1 7 5 6 8 9 2 4 3 1 7 5 6 1 Algorithm The pseudocode of depth-first traversal algorithm: Boolean visited[V.size]; void DepthFirst(Graph G) { Vertex u; for each vertex u in V do visited[u] = false; for each vertex u in V do if visited[u] = false then RDFS(u); } void RDFS(Vertex u){ visited[u] = true; Visit(u); for each vertex w in Adj[u] do if visited[w] = false then RDFS(w); } Example: Depth-First Traversal An adjacent list of a graph: 2 Example: Depth-First Traversal Function calls of depth-first traversal of the graph visit 0 visit 7 (first on 0’s list) visit 1 (first on 7’s list) check 7 on 1’s list check 0 on 1’s list visit 2 (second on 7’s list) check 7 on 2’s list check 0 on 2’s list check 0 on 7’s list visit 4 (fourth on 7’s list) visit 6 (first on 4’s list) check 4 on 6’s list check 0 on 6’s list Example: Depth-First Traversal visit 5 (second on 4’s list) check 0 on 5’s list check 4 on 5’s list visit 3 (third on 5’s list) check 5 on 3’s list chec
AI 摘要
- 文档名称
- Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Lập trình C
- 作者(文档中)
- AnhTT
- 内容
- Tài liệu này trình bày chi tiết về thuật toán duyệt đồ thị theo chiều sâu (DFS), bao gồm nguyên lý hoạt động, mã giả, ví dụ minh họa, cách triển khai bằng ngăn xếp và các ứng dụng thực tế.
- 目录
- Depth-First Search
- Depth-First Traversal
- Algorithm
- Example: Depth-First Traversal
- Using a stack
- Quiz 2
- Applications
- Path finding with DFS
- Quiz 3
- 页数
- 8 页
- 上传者
- lienhejb
常见问题
此文档免费吗?
是的。“Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT”是免费的 — 只需登录并点击“下载”即可获取原始文件。
这份文档有多少页?
该文档共有 8 页,适用于课程 Lập trình C。您可以在下载前进行在线预览。
我可以在下载前预览吗?
是的。您可以通过在线阅读器直接在本页面预览此文档,然后再决定是否下载。
Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT
正在生成预览...
Depth-First Search 1. 2. 3. From the given vertex, visit one of its adjacent vertices and leave others; Then visit one of the adjacent vertices of the previous vertex; Continue the process, visit the graph as deep as possible until: A visited vertex is reached; An end vertex is reached. Depth-First Traversal 1. 2. 3. 4. 5. 6. 7. Depth-first traversal of a graph: Start the traversal from an arbitrary vertex; Apply depth-first search; When the search terminates, backtrack to the previous vertex of the finishing point, Repeat depth-first search on other adjacent vertices, then backtrack to one level up. Continue the process until all the vertices that are reachable from the starting vertex are visited. Repeat above processes until all vertices are visited. 0 source 0 8 9 2 4 3 source 1 7 5 6 8 9 2 4 3 1 7 5 6 1 Algorithm The pseudocode of depth-first traversal algorithm: Boolean visited[V.size]; void DepthFirst(Graph G) { Vertex u; for each vertex u in V do visited[u] = false; for each vertex u in V do if visited[u] = false then RDFS(u); } void RDFS(Vertex u){ visited[u] = true; Visit(u); for each vertex w in Adj[u] do if visited[w] = false then RDFS(w); } Example: Depth-First Traversal An adjacent list of a graph: 2 Example: Depth-First Traversal Function calls of depth-first traversal of the graph visit 0 visit 7 (first on 0’s list) visit 1 (first on 7’s list) check 7 on 1’s list check 0 on 1’s list visit 2 (second on 7’s list) check 7 on 2’s list check 0 on 2’s list check 0 on 7’s list visit 4 (fourth on 7’s list) visit 6 (first on 4’s list) check 4 on 6’s list check 0 on 6’s list Example: Depth-First Traversal visit 5 (second on 4’s list) check 0 on 5’s list check 4 on 5’s list visit 3 (third on 5’s list) check 5 on 3’s list chec
阅读全文
- 文档名称
- Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT
- 学校 / 课程
- Đại học Bách khoa Hà Nội · Lập trình C
- 作者(文档中)
- AnhTT
- 内容
- Tài liệu này trình bày chi tiết về thuật toán duyệt đồ thị theo chiều sâu (DFS), bao gồm nguyên lý hoạt động, mã giả, ví dụ minh họa, cách triển khai bằng ngăn xếp và các ứng dụng thực tế.
- 目录
- Depth-First Search
- Depth-First Traversal
- Algorithm
- Example: Depth-First Traversal
- Using a stack
- Quiz 2
- Applications
- Path finding with DFS
- Quiz 3
- 页数
- 8 页
- 上传者
- lienhejb
评论 (0)
暂无评论。快来抢沙发吧!
K5 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K2 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K3 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K4 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
K1 Bộ đề luyện thi Trạng Nguyên Tiếng Việt (NXB DHQG)
评论 (0)
暂无评论。快来抢沙发吧!