A linear data structure where elements (nodes) point to the next (and optionally previous) node. Used in dynamic memory allocation and insertion-heavy use cases.