+ LRUアルゴリズムのハッシュベースのリスト。
-
ホットへのアクセスは、元の場所からそれを削除すると、リストのヘッダに差し込み
-
情報格納されたハッシュキーのホットスポットを使用して、時間計算量はO(1)で読み出され、削除するために
クラスLRUCaceh(): DEF __init__(セルフ、サイズ= 5 ): 「」「 デフォルトのキューの長さが5される ルックアップするために辞書を使用し、リストを維持するために使用 」「」 self.size = サイズ self.cache中 = dictの() セルフ。キー = [] DEF GET(セルフ、鍵): '' ' キーキャッシュの値を得るために ''' IF self.cache.get(キー): self.key.remove(キー) self.key.insert( 0、キー) リターンself.cacheで[キー] の戻りなし DEFセット(自己、キー、値): '' ' 设置缓存、实现缓存淘汰 ''' もしself.cache.get(キー): self.cache.pop(キー) self.cache [キー] = 値 self.key .remove(キー) self.key.insert(0、キー) ELIF LEN(self.key)== self.size: old_key = self.key.pop() self.key.insert(0、キー) self.cache .pop(old_key) self.cache [キー] = 値 他: self.key.insert(0、キー) self.cache [キー] =値