""" Consideremos este grafo no dirigido: 0 --- 1 --- 2 | | 3 """ V = 4 # Cantidad de nodos (vertices) # Creamos la matriz llena de ceros, el espacio es O(V^2) adj_matrix = [[0]*V for _ in range(V)] print("Matriz de adyacencia antes de:") for i in adj_matrix: print(i) # Marcamos en 1 las aristas (si fuera un grafo con peso/costo podriamos poner el peso en lugar del 1) adj_matrix[0][1] = 1 adj_matrix[1][0] = 1 # no dirigido (bidireccional) adj_matrix[1][2] = 1 adj_matrix[2][1] = 1 # no dirigido (bidireccional) adj_matrix[1][3] = 1 adj_matrix[3][1] = 1 # no dirigido (bidireccional) print("Matriz de adyacencia despues de:") for i in adj_matrix: print(i) # Buscar arista (a,b) es O(1) a = 0 b = 3 print("Existe arista de A hasta B?", adj_matrix[a][b]==1)
Standard input is empty
Matriz de adyacencia antes de: [0, 0, 0, 0] [0, 0, 0, 0] [0, 0, 0, 0] [0, 0, 0, 0] Matriz de adyacencia despues de: [0, 1, 0, 0] [1, 0, 1, 1] [0, 1, 0, 0] [0, 1, 0, 0] Existe arista de A hasta B? False