A linked list, a min-heap, an LRU cache and a trie, built from scratch so you know what the array is doing for you.