davegimo

bfs con colori

Mar 25th, 2022 (edited)
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. def opposite(i):
  2. if i == 0:
  3. return 1
  4. if i == 1:
  5. return 0
  6.  
  7. def BFS(G,s):
  8. n = size(G)
  9. reached = []
  10. color = []
  11. for i in range(n):
  12. reached.append(False)
  13. color.append(-1)
  14. tobeConsidered = [s]
  15. color[s] = 0
  16. reached[s] = True
  17. T = []
  18. i = 0
  19. while i < len(tobeConsidered):
  20. k = tobeConsidered[i]
  21. V = neighbors(G,k)
  22. for [j,w] in V:
  23.  
  24. if color[j] == -1:
  25. color[j] = opposite(color[k])
  26.  
  27. elif color[j] == color[k]:
  28. return False
  29.  
  30.  
  31. if reached[j] == False:
  32. T.append([k,j])
  33. reached[j] = True
  34. tobeConsidered.append(j)
  35. i = i+1
  36.  
  37. return True
Add Comment
Please, Sign In to add comment