VOOZH about

URL: https://www.geeksforgeeks.org/dsa/adjacency-list-meaning-definition-in-dsa/

⇱ Adjacency List Representation - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Adjacency List Representation

Last Updated : 23 Jul, 2025

An adjacency list is a data structure used to represent a graph where each node in the graph stores a list of its neighboring vertices.

1. Adjacency List for Directed graph:

Consider an Directed and Unweighted graph with 3 vertices and 3 edges. For the graph G, the adjacency list would look like:



Output
Adjacency List Representation:
0: 
1: 0 2 
2: 0 

2. Adjacency List for Undirected graph:

Consider an Undirected and Unweighted graph with 3 vertices and 3 edges. For the graph G, the adjacency list would look like:



Output
Adjacency List Representation:
0: 1 2 
1: 0 2 
2: 1 0 

3. Adjacency List for Directed and Weighted graph:

Consider an Directed and Weighted graph with 3 vertices and 3 edges. For the graph G, the adjacency list would look like:



Output
Adjacency List Representation:
0: 
1: {0, 4} {2, 3} 
2: {0, 1} 

4. Adjacency List for Undirected and Weighted graph:

Consider an Undirected and Weighted graph with 3 vertices and 3 edges. For the graph G, the adjacency list would look like:



Output
Adjacency List Representation:
0: {1, 4} {2, 1} 
1: {0, 4} {2, 3} 
2: {1, 3} {0, 1} 

Characteristics of the Adjacency List:

  • An adjacency list representation uses a list of lists. We store all adjacent of every node together.
  • The size of the list is determined by the number of vertices in the graph.
  • All adjacent of a vertex are easily available. To find all adjacent, we need only O(n) time where is the number of adjacent vertices.

Applications of the Adjacency List:

Advantages of using an Adjacency list:

  • An adjacency list is simple and easy to understand.
  • Requires less space compared to adjacency matrix for sparse graphs.
  • Easy to traverse through all edges of a graph.
  • Adding an vertex is easier compared to adjacency matrix representation.
  • Most of the graph algorithms are implemented faster with this representation. For example, BFS and DFS implementations take OIV x V) time, but with Adjacency List representation, we get these in linear time. Similarly Prim's and Dijskstra's algorithms are implemented faster with Adjacency List representation.

Disadvantages of using an Adjacency list:

  • Checking if there is an edge between two vertices is costly as we have traverse the adjacency list.
  • Not suitable for dense graphs.

What else can you read?

Comment
Article Tags: