File tree Expand file tree Collapse file tree 1 file changed +41
-0
lines changed
number-of-connected-components-in-an-undirected-graph Expand file tree Collapse file tree 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ // V는 정점, E는 간선
2+ // 시간 복잡도: O(V + E)
3+ // 공간 복잡도: O(V + E)
4+
5+ class Solution {
6+ /**
7+ * @param {number } n
8+ * @param {number[][] } edges
9+ * @returns {number }
10+ */
11+ countComponents ( n , edges ) {
12+ const visited = Array . from ( { length : n } , ( ) => false ) ;
13+ const graph = new Map ( ) ;
14+
15+ for ( const [ v , d ] of edges ) {
16+ if ( ! graph . has ( v ) ) graph . set ( v , [ ] ) ;
17+ if ( ! graph . has ( d ) ) graph . set ( d , [ ] ) ;
18+
19+ graph . get ( v ) . push ( d ) ;
20+ graph . get ( d ) . push ( v ) ;
21+ }
22+
23+ const dfs = ( node ) => {
24+ visited [ node ] = true
25+ for ( let nei of graph . get ( node ) || [ ] ) {
26+ if ( ! visited [ nei ] ) dfs ( nei )
27+ }
28+ }
29+
30+ let count = 0 ;
31+ for ( let i = 0 ; i < n ; i ++ ) {
32+ if ( ! visited [ i ] ) {
33+ dfs ( i ) ;
34+ count ++ ;
35+ }
36+ }
37+
38+
39+ return count
40+ }
41+ }
You can’t perform that action at this time.
0 commit comments