์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- BFS
- ์ฝ๋ฉํ ์คํธ
- ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
- ์์
- ๋ถํ ์ ๋ณต
- dp
- ๋ธ๋ฃจํธํฌ์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- ๋ฐฑํธ๋ํน
- WebView
- ๋์ ํฉ
- ์คํ
- dfs
- ๋ฌธ์์ด
- ๋ถํ ํ์
- ๋นํธ์ฐ์ฐ์
- WebApp
- ์ฝํ
- Queue
- ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋ถํ ์ ๋ณต
- Swift
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ios
- SwiftUI
- ์ด์งํ์
- ๋ฐฑ์ค
- ์๊ณ ๋ฆฌ์ฆ
Archives
- Today
- Total
MUKER_DEV with iOS
[swift] ๋ฐฑ์ค - 1260๋ฒ: DFS์ BFS ๋ณธ๋ฌธ
1260๋ฒ: DFS์ BFS
์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N(1 ≤ N ≤ 1,000), ๊ฐ์ ์ ๊ฐ์ M(1 ≤ M ≤ 10,000), ํ์์ ์์ํ ์ ์ ์ ๋ฒํธ V๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๊ฐ์ ์ด ์ฐ๊ฒฐํ๋ ๋ ์ ์ ์ ๋ฒํธ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋ค ๋ ์ ์ ์ฌ
www.acmicpc.net
๋์ ํ์ด
let NMV = readLine()!.split(separator: " ").map { Int($0)! }
let (N,M,V) = (NMV[0],NMV[1],NMV[2])
var graph = [Int: [Int]]()
var visited = Array(repeating: false, count: N+1)
var (dfs,bfs) = ([Int](),[Int]())
for _ in 0..<M {
let road = readLine()!.split(separator: " ").map { Int($0)! }
graph[road[0]] = (graph[road[0]] ?? []) + [road[1]]
graph[road[1]] = (graph[road[1]] ?? []) + [road[0]]
}
func DFS(_ n: Int) {
visited[n] = true
print(n,terminator: " ")
dfs.append(n)
guard graph.keys.contains(n) else { return }
for i in graph[n]!.sorted(by: <) {
if visited[i] == false {
DFS(i)
}
}
}
func BFS(_ n: Int) {
var queue = [Int]()
queue.append(n)
visited[n] = false
while !queue.isEmpty {
let pop = queue.removeFirst()
visited[pop] = false
print(pop,terminator: " ")
guard graph.keys.contains(n) else { return }
for i in graph[pop]!.sorted(by: <) {
if visited[i] == true && !queue.contains(i) {
queue.append(i)
}
}
}
}
DFS(V)
print("")
BFS(V)
ํ์ด ํค์๋
DFS
BFS
DFS์ BFS์ ๊ธฐ๋ณธ๊ฐ๋ ์ ์ก๊ธฐ ์ข์ ๋ฌธ์ ๋ค.
visited๋ฐฐ์ด์ DFSํจ์์ BFSํจ์๊ฐ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์
DFS๋ฅผ ํ ๋ true๋ก ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ
BFS๋ฅผ ํ ๋๋ false๋ก ๋ฐฉ๋ฌธ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.
'๐ค ์๊ณ ๋ฆฌ์ฆ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[swift] ๋ฐฑ์ค - 9095๋ฒ: 1,2,3 ๋ํ๊ธฐ (0) | 2023.04.11 |
---|---|
[swift] ๋ฐฑ์ค - 2178๋ฒ: ๋ฏธ๋ก ํ์ (0) | 2023.04.09 |
[swift] ๋ฐฑ์ค - 1074๋ฒ: Z (0) | 2023.04.06 |
[swift] ๋ฐฑ์ค - 10813๋ฒ: ๊ณต ๋ฐ๊พธ๊ธฐ (0) | 2023.04.02 |
[swift] ๋ฐฑ์ค - 10810๋ฒ: ๊ณต ๋ฃ๊ธฐ (0) | 2023.04.01 |