Algorithm, DFS
🍁 What is DFS(Depth-First Search)🤔?
グラフ#グラフ#のナビゲーション方法(最初の頂点からグラフィックに存在するすべての頂点を一度参照)で、特定のノードから次の四半期まで全面的にナビゲートする方法.
🍁 DFSの使用方法
スタックまたは再帰関数による実装
🍁 スタックのDFSの使用
グラフ#グラフ#のナビゲーション方法(最初の頂点からグラフィックに存在するすべての頂点を一度参照)で、特定のノードから次の四半期まで全面的にナビゲートする方法.
🍁 DFSの使用方法
スタックまたは再帰関数による実装
🍁 スタックのDFSの使用
func dfs(_ graph: [String: [String]], start: String) -> [String] {
var visited = [String]()
var stack = [String]()
stack.append(start)
while !stack.isEmpty {
let node = stack.removeLast()
if visited.contains(node) {
continue
}
visited.append(node)
stack += graph[node] ?? []
}
return visited
}
🍁 再帰関数を使用したDFSvar visited = [String]()
func dfs(_ graph: [String: [String]], start: String) {
if visited.contains(start){
return
}
visited.append(start)
for node in graph[start] {
dfs(graph, start: node)
}
}
Reference
この問題について(Algorithm, DFS), 我々は、より多くの情報をここで見つけました https://velog.io/@idoyoung/Algorithm-DFSテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol