forked from netsetos/python_code
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAdjacency list_graph
More file actions
33 lines (25 loc) · 804 Bytes
/
Adjacency list_graph
File metadata and controls
33 lines (25 loc) · 804 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
edges=[("A","B"),("A","C"),("B","C"),("B","D"),
("B","E"),("C","D"),("D","E")]
class Graph:
def __init__(self,Nodes,is_directed=False):
self.nodes=Nodes
self.adj_list={}
self.is_directed=is_directed
for node in self.nodes:
self.adj_list[node]=[]
def add_edge(self,v,e):
self.adj_list[v].append(e)
if not self.is_directed:
self.adj_list[e].append(v)
def degree_vertex(self,node):
degree=len(self.adj_list[node])
return degree
def print_adj(self):
for node in self.nodes:
print(node,":",self.adj_list[node])
nodes=["A","B","C","D","E"]
graph=Graph(nodes,is_directed=False)
for v,e in edges:
graph.add_edge(v,e)
graph.print_adj()
# print(graph.degree_vertex("B"))