Linked List¶
Definition¶
- A Linked List consists of Nodes, each of which contains some data and a pointer to the next node.
- Self-referential (naturally recusive)
Motivation¶
- Arrays are great for holding data, but you don’t always know the size of the array you need in advance
- Insertion in the middle of an array is expensive
- Linked structures store items linearly and allow quick inserts, though searching for an element becomes expensive
- Linked structure also allows for easy removal operations
- Reduce access time and expand in real time without memory overhead
- When might I actually use this? a web crawler cacheing links and the next link from that link
Attributes¶
- Nodes:
- data
- next
- Linked List:
- head
- tail
Operations¶
insert(value, next=None)
remove(value)
search(value)
display()
- pop()
- note: pop() is a remove-and-return operation