A data structure containing nodes and the collection of edges that connect the nodes.
Pros | Cons |
---|---|
Allows for graph algorithms to be used | Usually not built in to programming languages |
Many different implementations with different pros and cons |
Operation | Graph (Adjacency list) | Graph (Adjacency matrix) |
---|---|---|
Add edge | O(1) | O(1) |
Add vertex | O(1) | O(|V|^2) |
Are two vertexes adjacent? | O(|V|) | O(1) |
Create graph | O(|V|+|E|) | O(|V|^2) |
Remove edge | O(|V|) | O(1) |
Remove vertex | O(|E|) | O(|V|^2) |