File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed
number-of-connected-components-in-an-undirected-graph Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change
1
+ // Time Complexity: O(n + e) โ ๋
ธ๋ n๊ฐ์ ๊ฐ์ e๊ฐ๋ฅผ ํ ๋ฒ์ฉ ์ํ
2
+ // Space Complexity: O(n + e) โ ์ธ์ ๋ฆฌ์คํธ ์ ์ฅ O(n+e), ์ฌ๊ท ํธ์ถ ์คํ ์ต์
O(n)
3
+ function countComponents ( n , edges ) {
4
+ // ์ธ์ ๋ฆฌ์คํธ ์์ฑ
5
+ const adj = Array . from ( { length : n } , ( ) => [ ] ) ;
6
+ for ( const [ u , v ] of edges ) {
7
+ adj [ u ] . push ( v ) ;
8
+ adj [ v ] . push ( u ) ;
9
+ }
10
+
11
+ const visited = Array ( n ) . fill ( false ) ;
12
+ let count = 0 ;
13
+
14
+ function dfs ( u ) {
15
+ visited [ u ] = true ;
16
+ for ( const v of adj [ u ] ) {
17
+ if ( ! visited [ v ] ) dfs ( v ) ;
18
+ }
19
+ }
20
+
21
+ // ๋ชจ๋ ๋
ธ๋ ์ํ
22
+ for ( let i = 0 ; i < n ; i ++ ) {
23
+ if ( ! visited [ i ] ) {
24
+ count ++ ;
25
+ dfs ( i ) ;
26
+ }
27
+ }
28
+
29
+ return count ;
30
+ }
You canโt perform that action at this time.
0 commit comments