@@ -11,12 +11,13 @@ def __init__(self, adjacency_matrix, num_vertices):
11
11
self .adj_mat = adjacency_matrix
12
12
self .v = num_vertices
13
13
14
- def is_adjacent (v1 , v2 ):
14
+ def is_adjacent (self , v1 , v2 ):
15
15
return self .adj_mat [v1 , v2 ]
16
16
17
- def remove_vertex (v ):
18
- self .adj_mat [v ,:] = 0
19
- self .adj_mat [:,v ] = 0
17
+ def remove_vertex (self , v ):
18
+ self .adj_mat = np .delete (self .adj_mat , v , 0 )
19
+ self .adj_mat = np .delete (self .adj_mat , v , 1 )
20
+ self .v -= 1
20
21
21
22
def find_num_islands (self ):
22
23
num_islands = 0
@@ -34,7 +35,20 @@ def find_num_islands(self):
34
35
self .num_islands = num_islands
35
36
return num_islands
36
37
38
+ def add_edges (self , edges ):
39
+ """Edges = an array of length-two arrays, each length-two array representing an edge."""
40
+ for edge in edges :
41
+ i = edge [0 ]
42
+ j = edge [1 ]
43
+ self .adj_mat [i ][j ] = self .adj_mat [j ][i ] = 1
44
+
45
+
46
+
37
47
# Test Graph class
38
48
# t1 = Graph([[1,1,1,0],[1,1,0,0],[1,0,1,0],[0,0,0,1]], 4)
39
49
# print(t1.find_num_islands())
40
50
51
+ # t2 = Graph(np.zeros((6,6)),6)
52
+ # edges = [[0,5],[2,4],[2,3],[3,4]]
53
+ # t2.add_edges(edges)
54
+ # print(t2.find_num_islands())
0 commit comments