From basic operations to fast-slow pointers, in-place reversals, and cache designs backed by doubly linked lists.