File tree 4 files changed +135
-0
lines changed
4 files changed +135
-0
lines changed Original file line number Diff line number Diff line change
1
+ class Graph :
2
+
3
+ def __init__ (self , vertex ):
4
+ self .vertex = vertex
5
+ self .graph = [[0 ] * vertex for i in range (vertex ) ]
6
+
7
+ def add_edge (self , u , v ):
8
+ self .graph [u - 1 ][v - 1 ] = 1
9
+ self .graph [v - 1 ][u - 1 ] = 1
10
+
11
+ def show (self ):
12
+
13
+ for i in self .graph :
14
+ for j in i :
15
+ print (j , end = ' ' )
16
+ print (' ' )
17
+ def bfs (self ,v ):
18
+
19
+ visited = [False ]* self .vertex
20
+ visited [v - 1 ] = True
21
+ print ('%d visited' % (v ))
22
+
23
+ queue = [v - 1 ]
24
+ while len (queue ) > 0 :
25
+ v = queue [0 ]
26
+ for u in range (self .vertex ):
27
+ if self .graph [v ][u ] == 1 :
28
+ if visited [u ]== False :
29
+ visited [u ] = True
30
+ queue .append (u )
31
+ print ('%d visited' % (u + 1 ))
32
+ queue .pop (0 )
33
+
34
+ g = Graph (10 )
35
+
36
+ g .add_edge (1 ,2 )
37
+ g .add_edge (1 ,3 )
38
+ g .add_edge (1 ,4 )
39
+ g .add_edge (2 ,5 )
40
+ g .add_edge (3 ,6 )
41
+ g .add_edge (3 ,7 )
42
+ g .add_edge (4 ,8 )
43
+ g .add_edge (5 ,9 )
44
+ g .add_edge (6 ,10 )
45
+ g .bfs (1 )
Original file line number Diff line number Diff line change
1
+ class Graph :
2
+
3
+ def __init__ (self , vertex ):
4
+ self .vertex = vertex
5
+ self .graph = [[0 ] * vertex for i in range (vertex ) ]
6
+ self .visited = [False ] * vertex
7
+
8
+ def add_edge (self , u , v ):
9
+ self .graph [u - 1 ][v - 1 ] = 1
10
+ self .graph [v - 1 ][u - 1 ] = 1
11
+ def show (self ):
12
+
13
+ for i in self .graph :
14
+ for j in i :
15
+ print (j , end = ' ' )
16
+ print (' ' )
17
+
18
+
19
+ def dfs (self , u ):
20
+ self .visited [u - 1 ] = True
21
+ print ('%d visited' % u )
22
+ for i in range (1 , self .vertex + 1 ):
23
+ if self .graph [u - 1 ][i - 1 ] == 1 and self .visited [i - 1 ] == False :
24
+ self .dfs (i )
25
+
26
+
27
+ g = Graph (5 )
28
+ g .add_edge (1 ,4 )
29
+ g .add_edge (4 ,2 )
30
+ g .add_edge (4 ,5 )
31
+ g .add_edge (2 ,5 )
32
+ g .add_edge (5 ,3 )
33
+ g .dfs (1 )
Original file line number Diff line number Diff line change
1
+ class Graph :
2
+ def __init__ (self , vertex ):
3
+ self .vertex = vertex
4
+ self .graph = [[0 ] for i in range (vertex )]
5
+
6
+ def add_edge (self , u , v ):
7
+ self .graph [u - 1 ].append (v - 1 )
8
+
9
+ def show (self ):
10
+ for i in range (self .vertex ):
11
+ print ('%d: ' % (i + 1 ), end = ' ' )
12
+ for j in self .graph [i ]:
13
+ print ('%d-> ' % (j + 1 ), end = ' ' )
14
+ print (' ' )
15
+
16
+
17
+
18
+ g = Graph (5 )
19
+
20
+ g .add_edge (1 ,3 )
21
+ g .add_edge (2 ,3 )
22
+ g .add_edge (3 ,4 )
23
+ g .add_edge (3 ,5 )
24
+ g .add_edge (4 ,5 )
25
+
26
+ g .show ()
27
+
Original file line number Diff line number Diff line change
1
+ class Graph :
2
+
3
+ def __init__ (self , vertex ):
4
+ self .vertex = vertex
5
+ self .graph = [[0 ] * vertex for i in range (vertex ) ]
6
+
7
+ def add_edge (self , u , v ):
8
+ self .graph [u - 1 ][v - 1 ] = 1
9
+ self .graph [v - 1 ][u - 1 ] = 1
10
+
11
+ def show (self ):
12
+
13
+ for i in self .graph :
14
+ for j in i :
15
+ print (j , end = ' ' )
16
+ print (' ' )
17
+
18
+
19
+
20
+
21
+ g = Graph (5 )
22
+
23
+ g .add_edge (1 ,3 )
24
+ g .add_edge (2 ,3 )
25
+ g .add_edge (3 ,4 )
26
+ g .add_edge (3 ,5 )
27
+ g .add_edge (4 ,5 )
28
+
29
+ g .show ()
30
+
You can’t perform that action at this time.
0 commit comments