* ufak tefek duzeltmeler, bir iki ekleme

This commit is contained in:
Eray Özkural
2005-07-18 00:54:16 +00:00
parent 7b4d59527c
commit 5e467bb5d3
+22 -3
View File
@@ -8,21 +8,40 @@ class digraph(object):
self.__vdata = {} self.__vdata = {}
#self.__edata = {} #self.__edata = {}
def vertices(self):
"return set of vertex descriptors"
return self.__v
def edges(self):
"return a list of edge descriptors"
l = []
for u in self.__v:
for v in self.__u:
l.append( (u,v) )
return l
def add_vertex(u, data = None): def add_vertex(u, data = None):
#assert not u in self.__v "add vertex u, optionally with data"
assert not u in self.__v
self.__v.add(u) self.__v.add(u)
self.__adj[u] = set()
if data!=None: if data!=None:
self.__vdata[u] = data self.__vdata[u] = data
def add_edge(u, v, edata = None): def add_edge(u, v, edata = None):
self.__adj[u].add(u) "add edge u -> v"
if not u in self.__v:
add_vertex(u)
if not v in self.__v:
add_vertex(v)
self.__adj[u].add(v)
#if edata != None: #if edata != None:
def set_vertex_data(u, data): def set_vertex_data(u, data):
self.__vdata[u] = data self.__vdata[u] = data
def vertex_data(u): def vertex_data(u):
self.__vdata[u] return self.__vdata[u]
def has_vertex(u): def has_vertex(u):
return u in self.__v return u in self.__v