Anders and Briegel in Python
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
697B

  1. class Vertex(object):
  2. def __init__(self):
  3. self.neighbors = set()
  4. def __str__(self):
  5. return "v: {}".format(", ".join(map(str, self.neighbors)))
  6. class GraphRegister(object):
  7. def __init__(self, n):
  8. self.vertices = [Vertex() for i in xrange(n)]
  9. def add_edge(self, v1, v2):
  10. self.vertices[v1].neighbors.add(v2)
  11. self.vertices[v2].neighbors.add(v1)
  12. def del_edge(self, v1, v2):
  13. self.vertices[v1].neighbors.remove(v2)
  14. self.vertices[v2].neighbors.remove(v1)
  15. def __str__(self, ):
  16. return "\n".join(str(v) for v in self.vertices)
  17. if __name__ == '__main__':
  18. g = GraphRegister(10)
  19. g.add_edge(0,1)
  20. print g