LearnViz CompSci
Home / Learn / Data Structures / Adjacency Matrix

Intermediate Topic 29 of 52 Data Structures

Adjacency Matrix

Graph storage using a square grid marking edges.

How it works

An adjacency matrix is a V by V grid in which cell [i][j] marks, or holds the weight of, an edge from vertex i to vertex j. Edge existence checks take O(1) time, but the structure always uses O(V squared) memory and listing a vertex's neighbors takes O(V). Undirected graphs give a symmetric matrix, and matrix multiplication can count paths.

Step-by-step walkthrough

  1. The graph is a V by V grid of zeros and ones.
  2. Entry [A][B] = 1 marks an edge A to B.
  3. Checking whether an edge exists is one lookup.
  4. Listing the neighbors of a vertex scans its whole row.
  5. Memory is O(V squared), which suits dense graphs.

Where it is used

Dense graphs, small graphs, the Floyd-Warshall all-pairs shortest-path algorithm, transition matrices of Markov chains and quick edge lookups in constraint problems use adjacency matrices.

Common pitfall

For large sparse graphs the memory is wasteful, and a million vertices would need a trillion cells. Distinguishing no edge from an edge of weight zero requires a sentinel such as infinity. Adding or removing vertices means resizing the whole matrix. Diagonal entries represent self-loops.

Where it fits in the course

Adjacency Matrix is topic 29 of 52 in Data Structures, rated Intermediate. It follows Adjacency List. The next topic is Disjoint Set Union.

Practice and explore

How to study this topic

  1. Read the explanation above and restate the definition in your own words.
  2. Open the interactive lesson and answer its mini quiz.
  3. Read the common pitfall, then write a short example that avoids it.
  4. Check your understanding in the Data Structures quiz, and revisit the topic if you miss a question.

Frequently asked questions

What is Adjacency Matrix?
Graph storage using a square grid marking edges. It belongs to Data Structures and is an intermediate-level topic.
Where do people use Adjacency Matrix?
Dense graphs, small graphs, the Floyd-Warshall all-pairs shortest-path algorithm, transition matrices of Markov chains and quick edge lookups in constraint problems use adjacency matrices.
What is the most common mistake with Adjacency Matrix?
For large sparse graphs the memory is wasteful, and a million vertices would need a trillion cells.
What should I learn before this topic?
Start with Adjacency List, the topic just before it in Data Structures.
How can I practice it?
Answer the mini quiz in the interactive lesson, then take the Data Structures quiz.
Is Adjacency Matrix hard to learn?
It is an Intermediate topic. Be comfortable with the Beginner topics in this area first, then read the common pitfall carefully, since it is where most mistakes happen.
How long does it take to learn Adjacency Matrix?
Most learners can read the explanation and finish the interactive lesson in under an hour. Fluency comes from applying the idea, so plan a few short practice sessions with the quiz.
Which topics are related to Adjacency Matrix?
Adjacency List, Disjoint Set Union, Graphs are closely connected. The full list is in the related topics section of this page.
What should I study after Adjacency Matrix?
Continue with Disjoint Set Union, the next topic in Data Structures.

Related topics