LRU (Least Recently Used) talpykla iš talpyklos pašalina elementą, kuris buvo naudojamas seniausia, kai ji pasiekia pajėgumą. Klasikinis dizainas sujungia hash map (O(1) paieška) su doubly linked list (O(1) pergrupavimas), suteikdamas O(1) get ir put.
Dviejų struktūrų dizainas
HashMap: key -> node DLL (recency order):
MRU <-> ... <-> LRU
get/put: map finds node move touched node to front (MRU)
in O(1); DLL splices it evict the tail (LRU) when full
to the front in O(1)
