01Nodes joined by pointers
An array is one contiguous block, so the address of a[i] is simple arithmetic: base + i · size. That is why indexing is O(1).
A linked list gives up that block. Each element lives in its own node with two fields: the value and a next pointer to the following node. The nodes can sit anywhere in memory. You only keep a pointer to the first node, the head, and the last node points to null.
The price is access: to reach the 5th element you must start at head and follow next four times. There is no shortcut, so access and search cost O(n).