@@ -0,0 +1,57 @@ | |||||
# Byte-compiled / optimized / DLL files | |||||
__pycache__/ | |||||
*.py[cod] | |||||
# C extensions | |||||
*.so | |||||
# Distribution / packaging | |||||
.Python | |||||
env/ | |||||
build/ | |||||
develop-eggs/ | |||||
dist/ | |||||
downloads/ | |||||
eggs/ | |||||
lib/ | |||||
lib64/ | |||||
parts/ | |||||
sdist/ | |||||
var/ | |||||
*.egg-info/ | |||||
.installed.cfg | |||||
*.egg | |||||
# PyInstaller | |||||
# Usually these files are written by a python script from a template | |||||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | |||||
*.manifest | |||||
*.spec | |||||
# Installer logs | |||||
pip-log.txt | |||||
pip-delete-this-directory.txt | |||||
# Unit test / coverage reports | |||||
htmlcov/ | |||||
.tox/ | |||||
.coverage | |||||
.cache | |||||
nosetests.xml | |||||
coverage.xml | |||||
# Translations | |||||
*.mo | |||||
*.pot | |||||
# Django stuff: | |||||
*.log | |||||
# Sphinx documentation | |||||
docs/_build/ | |||||
# PyBuilder | |||||
target/ | |||||
# PYC | |||||
*.pyc |
@@ -0,0 +1,28 @@ | |||||
class Vertex(object): | |||||
def __init__(self): | |||||
self.neighbors = set() | |||||
def __str__(self): | |||||
return "v: {}".format(", ".join(map(str, self.neighbors))) | |||||
class GraphRegister(object): | |||||
def __init__(self, n): | |||||
self.vertices = [Vertex() for i in xrange(n)] | |||||
def add_edge(self, v1, v2): | |||||
self.vertices[v1].neighbors.add(v2) | |||||
self.vertices[v2].neighbors.add(v1) | |||||
def del_edge(self, v1, v2): | |||||
self.vertices[v1].neighbors.remove(v2) | |||||
self.vertices[v2].neighbors.remove(v1) | |||||
def __str__(self, ): | |||||
return "\n".join(str(v) for v in self.vertices) | |||||
if __name__ == '__main__': | |||||
g = GraphRegister(10) | |||||
g.add_edge(0,1) | |||||
print g | |||||