Which data structure is most suitable for implementing an LRU (Least Recently Used) cache?