File tree Expand file tree Collapse file tree 4 files changed +135
-0
lines changed
Expand file tree Collapse file tree 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