개린이가 쓴 글이므로 오류가 있을 수 있음을 미리 알려드립니다 🐹 (꾸벅)
swift 에서 dfs / bfs 가장 기본적인 코드를 보여드립니다 :)
import Foundation
func dfs(v: Int){
visited[v] = true
print(v, terminator: " ")
for i in graph[v] {
if !visited[i] {
print(visited)
dfs(v: i)
}
}
}
let graph = [
[],
[2,3,8],
[1,7],
[1,4,5],
[3,5],
[3,4],
[7],
[2,6,8],
[1,7]
]
var visited = [Bool](repeating: false, count: 9)
let graph = [
[],
[2,3,8],
[1,7],
[1,4,5],
[3,5],
[3,4],
[7],
[2,6,8],
[1,7]
]
var visited = [Bool](repeating: false, count: 9)
var myQueue = Queue<Int>()
func bfs (start: Int) {
myQueue.enqueue(start)
visited[start] = true
while !myQueue.isEmpty {
guard let a = myQueue.dequeue() else { return }
print(a, terminator: " ")
for i in graph[a] {
if !visited[i] {
myQueue.enqueue(i)
visited[i] = true
}
}
}
}
큐 코드는 여기서 확인 !