Example: - matrix based - shared adjacency list instead of lists by node - efficient storage for undirected graphs