PROGRAM TO PRINT THE ADJACENCY LIST
class
AdjNode:
def
__init__(
self
, data):
self
.vertex
=
data
self
.
next
=
None
class
Graph:
def
__init__(
self
, vertices):
self
.V
=
vertices
self
.graph
=
[
None
]
*
self
.V
def
add_edge(
self
, src, dest):
node
=
AdjNode(dest)
node.
next
=
self
.graph[src]
self
.graph[src]
=
node
node
=
AdjNode(src)
node.
next
=
self
.graph[dest]
self
.graph[dest]
=
node
def
print_graph(
self
):
for
i
in
range
(
self
.V):
print
(
"Adjacency list of vertex {}\n head"
.
format
(i), end
=
"")
temp
=
self
.graph[i]
while
temp:
print
(
" -> {}"
.
format
(temp.vertex), end
=
"")
temp
=
temp.
next
print
(
" \n"
)
if
__name__
=
=
"__main__"
:
V
=
5
graph
=
Graph(V)
graph.add_edge(
0
,
1
)
graph.add_edge(
0
,
4
)
graph.add_edge(
1
,
2
)
graph.add_edge(
1
,
3
)
graph.add_edge(
1
,
4
)
graph.add_edge(
2
,
3
)
graph.add_edge(
3
,
4
)
graph.print_graph()
OUTPUT:
Adjacency list of vertex 0
head -> 1-> 4
Adjacency list of vertex 1
head -> 0-> 2-> 3-> 4
Adjacency list of vertex 2
head -> 1-> 3
Adjacency list of vertex 3
head -> 1-> 2-> 4
Adjacency list of vertex 4
head -> 0-> 1-> 3
Comments
Post a Comment