A graph can be implement using different Data Structures:
1. Edge List: Simple list of Edges. Each Edge has reference to Vertex it is connected to.
2. Adjacency List (Traditional)
For each Vertex, maintain a list of adjacent vertex (edge).
3. Adjacency List (Modern)
Combine Edge List with Adjacency List. Vertex in edge List has the adjacency list as well.