Linked List vs Unrolled Linked List
An ordinary linked list stores one logical element per node, while an Unrolled Linked List stores multiple elements inside each node, typically using a small array or block. This reduces pointer overhead and improves cache locality while retaining linked-node flexibility.
Unrolled lists reduce the number of node objects and pointers.
Multiple values per node improve spatial locality.
Insertion may require shifting elements within a block.
Nodes can split or rebalance when blocks become too full or sparse.
They are useful when memory locality matters but a fully contiguous array is not ideal.