Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT
- ページ数
- 8
- 形式
- サイズ
- 269 KB
- Trường
- Đại học Bách khoa Hà Nội
- 閲覧数
- 0
- コメント
- 0
- Lượt tải
- 0
プレビューを生成中...
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ị.
- ドキュメント名
- 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
説明
Trích nội dung tài liệu
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」は無料です。ログインして「ダウンロード」をクリックするだけで、元のファイルを取得できます。
このドキュメントは何ページありますか?
このドキュメントは 8 ページあります(Lập trình C コース用)。ダウンロードする前にオンラインでプレビューできます。
ダウンロードする前にプレビューできますか?
はい。このページにあるオンラインリーダーでドキュメントをプレビューし、その後ダウンロードするかどうかを決めることができます。
Lập trình C nâng cao - Fit Lec 8 (HUST) GV.AnhTT
プレビューを生成中...
Trích nội dung tài liệu
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)
まだコメントはありません。最初のコメントを書きましょう!