Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. def sp3(G):
  2. nodes = list(G.nodes)
  3. P = []
  4. dic = {}
  5. for v in nodes:
  6. dic[v] = frozenset([v])
  7. for v in nodes:
  8. nb = random.choice(list(G.neighbors(v)))
  9. U = frozenset.union(dic[v],dic[nb])
  10. for a in U:
  11. dic[a] = U
  12. for v in nodes:
  13. P.append(dic[v])
  14. P = list(set(P))
  15. return P
  16.  
  17. def sp1(G):
  18. nodes = list(G.nodes)
  19. dic = {v:set() for v in nodes}
  20. for v in nodes:
  21. nb = random.choice(list(G.neighbors(v)))
  22. dic[v].add(nb)
  23. dic[nb].add(v)
  24. P = list(CCbfs(dic))
  25. return P
  26.  
  27. def CCbfs(dic):
  28. seen = set()
  29. for v in dic.keys():
  30. if v not in seen:
  31. c = frozenset(bfs(dic, v))
  32. yield c
  33. seen.update(c)
  34.  
  35. def bfs(dic,n):
  36. d = dic
  37. seen = set()
  38. nextlevel = {n}
  39. while nextlevel:
  40. thislevel = nextlevel
  41. nextlevel = set()
  42. for v in thislevel:
  43. if v not in seen:
  44. yield v
  45. seen.add(v)
  46. nextlevel.update(d[v])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement