The stacks and queues from GCSE were built on arrays. These four structures solve different problems: growing without knowing the size in advance, representing hierarchy, representing arbitrary connections, and looking things up in constant time. Every one below is a real, working implementation you can operate on directly.
An array needs its size fixed in advance (or expensively resized). A linked list just adds a new node and points to it, nothing else moves.
A BST keeps everything smaller to the left, everything bigger to the right, at every single node. That one rule is what makes searching fast and in-order traversal produce sorted output.
A tree only ever branches downward from a root. A graph drops that restriction entirely, any node can connect to any other, including back to itself or in a cycle. Two standard ways to store one.
The list is far more compact whenever most nodes aren't connected to each other, the matrix wastes space on every non-connection, but offers instant O(1) lookup for "are these two connected?"
These 7 keys were chosen deliberately: 5 of them hash to the exact same slot. Watch chaining and linear probing handle that identical collision completely differently.