Skip to content

Commit 600ab15

Browse files
committed
fix: Undirected Graph
1 parent 17516dc commit 600ab15

File tree

1 file changed

+6
-12
lines changed
  • number-of-connected-components-in-an-undirected-graph

1 file changed

+6
-12
lines changed

โ€Žnumber-of-connected-components-in-an-undirected-graph/flynn.goโ€Ž

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
Big O
66
- N: ๋…ธ๋“œ ๊ฐœ์ˆ˜
77
- E: ๊ฐ„์„ ์˜ ๊ฐœ์ˆ˜
8-
- Time complexity: O(N)
9-
- ์ „์ฒด ๋…ธ๋“œ๋ฅผ ์ตœ๋Œ€ 1๋ฒˆ์”ฉ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค
8+
- Time complexity: O(N + E)
9+
- adj๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” E์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค
10+
- ์ „์ฒด ๋…ธ๋“œ๋ฅผ ์ตœ๋Œ€ 1๋ฒˆ์”ฉ ์กฐํšŒํ•˜๋ฏ€๋กœ ๋‘๋ฒˆ์งธ ๋ฐ˜๋ณต๋ฌธ์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” N์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค
1011
- Space complexity: O(N + E)
1112
- adjacency list์˜ ํฌ๊ธฐ๋Š” E์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค
12-
- ๋‘ set์˜ ํฌ๊ธฐ๋Š” N์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค
13+
- checked์˜ ํฌ๊ธฐ๋Š” N์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค
1314
- check ํ•จ์ˆ˜์˜ ์žฌ๊ท€ ํ˜ธ์ถœ ์Šคํƒ ๊นŠ์ด ๋˜ํ•œ ์ตœ์•…์˜ ๊ฒฝ์šฐ, N์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค
1415
*/
1516

@@ -20,24 +21,17 @@ func countComponents(n int, edges [][]int) int {
2021
adj[edge[1]] = append(adj[edge[1]], edge[0])
2122
}
2223
// Go๋Š” {int: bool} hashmap์„ set์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•จ
23-
checking := make(map[int]bool) // ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ DFS ํƒ์ƒ‰์—์„œ ๋ฐฉ๋ฌธํ•œ ๋…ธ๋“œ๋ฅผ ๊ธฐ๋กํ•จ
2424
checked := make(map[int]bool) // ๋ชจ๋“  ํƒ์ƒ‰์ด ๋๋‚œ ๋…ธ๋“œ๋ฅผ ๊ธฐ๋กํ•จ
2525
// ๊ฐ node๋ฅผ ์กฐํšŒํ•˜๋Š” ํ•จ์ˆ˜
2626
var check func(int)
2727
check = func(i int) {
28-
// ์ด๋ฏธ ๋ฐฉ๋ฌธํ•œ ์ ์ด ์žˆ๋Š” node๋ผ๋ฉด ํƒ์ƒ‰ํ•  ํ•„์š”๊ฐ€ ์—†์Œ
29-
if _, ok := checked[i]; ok {
30-
return
31-
}
32-
checking[i] = true
28+
checked[i] = true
3329
for _, nxt := range adj[i] {
34-
if _, ok := checking[nxt]; ok {
30+
if _, ok := checked[nxt]; ok {
3531
continue
3632
}
3733
check(nxt)
3834
}
39-
delete(checking, i)
40-
checked[i] = true
4135
}
4236

4337
res := 0

0 commit comments

Comments
ย (0)