class Graph(object):
def __init__(self, gdict=None):
if gdict is None:
gdict = {}
self.gdict = gdict
def edges(self):
return self.get_edges()
def get_vertices(self):
"""get the keys of gdict"""
return list(self.gdict.keys())
def get_edges(self):
"""get distinct list of edges"""
edge_list = []
for v in self.gdict:
for nxt_v in self.gdict[v]:
if {v, nxt_v} not in edge_list:
edge_list.append({v, nxt_v})
return edge_list
def add_vertex(self, vertex):
if vertex not in self.gdict:
self.gdict[vertex] = []
def add_edge(self, edge):
edge = set(edge)
(v1, v2) = tuple(edge)
if v1 in self.gdict:
self.gdict[v1].append(v2)
else:
self.gdict[v1] = [v2]
g_element = {'a':['b','c'],'b':['a','d'],'c':['a','d'],'d':['e'],'e':['d']}
g = Graph(g_element)
g.add_edge({'a','e'})
g.add_edge({'a','c'})
print(g.edges())