Doubly Linked List

Domain: Data Structures

🎯 Motivation

When you need to move both forward and backward through a sequence, each node holds two pointers: next and previous.

📋 Concrete Example

None <- [A|<->] <-> [B|<->] <-> [C|<->] -> None. From B, you can go to A (prev) or C (next). Python is actually built on doubly linked concepts in some structures.

🔗 Analogy

A two-way street. You can drive forward or reverse. This is more flexible but requires more road surface (memory) than a one-way street.