fork download
  1. """
  2. Consideremos este grafo no dirigido:
  3.  
  4. 0 --- 1 --- 2
  5. |
  6. |
  7. 3
  8. """
  9.  
  10. V = 4 # Cantidad de nodos (vertices)
  11.  
  12. # Creamos Lista de adyacencia
  13. adj_list = [[]*V for _ in range(V)]
  14.  
  15. print("Lista de adyacencia antes de:")
  16. for i in adj_list: print(i)
  17.  
  18. # Agregamos aristas (lista de vecinos)
  19. adj_list[0].append(1)
  20. adj_list[1].append(0) # no dirigido (bidireccional)
  21.  
  22. adj_list[1].append(2)
  23. adj_list[2].append(1) # no dirigido (bidireccional)
  24.  
  25. adj_list[1].append(3)
  26. adj_list[3].append(1) # no dirigido (bidireccional)
  27.  
  28. print("Lista de adyacencia despues de:")
  29. for i in adj_list: print(i)
  30.  
  31. # Buscar arista (a,b) es O(n)
  32. a = 0
  33. b = 3
  34. exists = False
  35. for node in adj_list[a]:
  36. if node == b:
  37. exists = True
  38. print("Existe arista de A hasta B?", exists)
  39.  
  40.  
Success #stdin #stdout 0.02s 9272KB
stdin
Standard input is empty
stdout
Lista de adyacencia antes de:
[]
[]
[]
[]
Lista de adyacencia despues de:
[1]
[0, 2, 3]
[1]
[1]
Existe arista de A hasta B? False