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