File tree 1 file changed +42
-0
lines changed
1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ 'use strict' ;
2
+ class Graph {
3
+ constructor ( vertex ) {
4
+ this . listArray = new Array ( vertex + 1 ) ;
5
+ this . visitedArr = new Array ( vertex + 1 ) ;
6
+ for ( let index = 0 ; index <= vertex ; index ++ ) {
7
+ this . listArray [ index ] = [ ] ;
8
+ this . visitedArr [ index ] = 0 ;
9
+ }
10
+ }
11
+ addEdge ( v , u ) {
12
+ this . listArray [ v ] . push ( u ) ;
13
+ }
14
+
15
+ dfs ( startVertex ) {
16
+ console . log ( startVertex ) ;
17
+ this . visitedArr [ startVertex ] = 1 ;
18
+ let tList = this . listArray [ startVertex ] ;
19
+ for ( let index = 0 ; index < tList . length ; index ++ ) {
20
+ if ( ! this . visitedArr [ tList [ index ] ] ) this . dfs ( tList [ index ] ) ;
21
+ }
22
+ }
23
+ }
24
+
25
+ let g1 = new Graph ( 7 ) ;
26
+ g1 . addEdge ( 1 , 2 ) ;
27
+ g1 . addEdge ( 1 , 3 ) ;
28
+ g1 . addEdge ( 1 , 5 ) ;
29
+
30
+ g1 . addEdge ( 2 , 1 ) ;
31
+ g1 . addEdge ( 2 , 4 ) ;
32
+ g1 . addEdge ( 2 , 7 ) ;
33
+
34
+ g1 . addEdge ( 3 , 1 ) ;
35
+ g1 . addEdge ( 3 , 6 ) ;
36
+
37
+ g1 . addEdge ( 5 , 1 ) ;
38
+ g1 . addEdge ( 5 , 6 ) ;
39
+
40
+ g1 . addEdge ( 6 , 3 ) ;
41
+ g1 . addEdge ( 6 , 5 ) ;
42
+ g1 . dfs ( 1 ) ;
You can’t perform that action at this time.
0 commit comments