Nptel Week3 Module2 Graphrepresentation
Nptel Week3 Module2 Graphrepresentation
Week 3, Module 2
Set of vertices V
Set of edges E
Directed graph:
v0 is New
Delhi v1
v3
Each (vi,vi+1) is
an edge in E
v2 v4
vk is
Trivandrum
v5
Finding a
route
Also makes sense
v0
for undirected
graphs
Find a sequence
of vertices v0, v1,
…, vk such that
v1
v0 is New Delhi v3
Each (vi,vi+1) is
an edge in E v4
v2
vk is Trivandrum
v5
Working with graphs
We are given G = (V,E), undirected
Adjacency matrix
Adjacency matrix
1
1 2 3 4 5 6 7 8 9 10
3 1 0 1 1 1 0 0 0 0 0 0
2 1 0 1 0 0 0 0 0 0 0
2 5 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
4 5 0 0 0 1 0 1 1 0 0 0
6 7 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
8 0 0 0 1 0 1 0 0 1 0
8 9 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
10
Adjacency matrix
Neighbours of i
1 2 3 4 5 6 7 8 9 10
Any column j in row i 1 0 1 1 1 0 0 0 0 0 0
with entry 1 2 1 0 1 0 0 0 0 0 0 0
3 1 1 0 0 0 0 0 0 0 0
Scan row i from left 4 1 0 0 0 1 0 0 1 0 0
to right to identify all 5 0 0 0 1 0 1 1 0 0 0
neighbours 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Neighbours of 4 are 8 0 0 0 1 0 1 0 0 1 0
{1,5,8} 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
Adjacency matrix
Neighbours of i
1 2 3 4 5 6 7 8 9 10
Any column j in row i 1 0 1 1 1 0 0 0 0 0 0
with entry 1 2 1 0 1 0 0 0 0 0 0 0
3 1 1 0 0 0 0 0 0 0 0
Scan row i from left 4 1 0 0 0 1 0 0 1 0 0
to right to identify all 5 0 0 0 1 0 1 1 0 0 0
neighbours 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Neighbours of 4 are 8 0 0 0 1 0 1 0 0 1 0
{1,5,8} 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Finding a path
Start with vs
1 2 3 4 5 6 7 8 9 10
New Delhi is 1 1 0 1 1 1 0 0 0 0 0 0
Mark each neighbour as 2 1 0 1 0 0 0 0 0 0 0
reachable 3 1 1 0 0 0 0 0 0 0 0
4 1 0 0 0 1 0 0 1 0 0
Explore neighbours of 5 0 0 0 1 0 1 1 0 0 0
marked vertices 6 0 0 0 0 1 0 1 1 1 0
7 0 0 0 0 1 1 0 0 0 0
Check if target is 8 0 0 0 1 0 1 0 0 1 0
marked 9 0 0 0 0 0 1 0 1 0 1
10 0 0 0 0 0 0 0 0 1 0
vt =10 = Trivandrum
Exploring graphs
Need a systematic algorithm
3 1 2,3,4
2 1,3
2 5 3 1,2
4 1,5,8
4 5 4,6,7
6 7 6 5,7,8,9
7 5,6
8 9 8 4,6,9
9 6,8,10
10 10 9
Comparing representations
Adjacency list typically requires less space
Is j a neighbour of i?