AdjacencyLists: A Graph as a Collection of Lists
We'll cover the following...
Adjacency list representations of graphs take a more vertex-centric approach. There are many possible implementations of adjacency lists. In this section, we present a simple one. At the end of the section, we discuss different possibilities. In an adjacency list representation, the graph is represented as an array, adj
, of lists. The list adj[i]
contains a list of all the vertices adjacent to vertex i
. That is, it contains every index such that (i,j)
.
Visual demonstration of the adjacency list
The visual demonstration of the adjacency list is shown below:
The constructor for creating an AdjacencyLists
is:
class AdjacencyLists(object):def __init__(self, n):self.n = nself._initialize()def _initialize(self):self.adj = new_array(self.n)for i in range(self.n):self.adj[i] = ArrayStack()
In this particular implementation, we represent each list in adj
as an ArrayStack
, because we would like constant time access by position. Other options are also possible. Specifically, we could have implemented adj
...
Create a free account to access the full course.
By signing up, you agree to Educative's Terms of Service and Privacy Policy