"LeastRecentlyUsedCache" (データ構造)
"LeastRecentlyUsedCache"
キーと値が一般式である,固定サイズのキャッシュを表す.
詳細
- 固定サイズのキャッシュテーブルは,キーを使って取り出すことができる個々の値を保存する.
-
CreateDataStructure["LeastRecentlyUsedCache",capacity] capacity 値全体のために新しい空の "LeastRecentlyUsedCache"を作成する CreateDataStructure["LeastRecentlyUsedCache",elems] elems を含む新しい"LeastRecentlyUsedCache"を作成する CreateDataStructure["LeastRecentlyUsedCache",cache, f] 指定のエビクション関数 f を含む新しい"LeastRecentlyUsedCache"を作成する Typed[x,"LeastRecentlyUsedCache"] x に"LeastRecentlyUsedCache"型を与える - "LeastRecentlyUsedCache"型のデータ構造には,以下の演算が使える.
-
ds["Capacity"] ds に保存できるキーと値のペアの最大数 time: O(1) ds["Copy"] ds のコピーを返す time: O(n) ds["EmptyQ"] ds にキーと値のペアが含まれない場合にはTrueを返す time: O(1) ds["Insert",keyvalue] 関連の value と一緒に key を ds に加え,何かがキャッシュから強制削除された場合にはTrueを返す time: O(1) ds["KeyDrop",key] key とその値を ds から省く time: O(1) ds["KeyDropAll"] すべてのキーとその値を ds から省く time: O(n) ds["KeyExistsQ",key] key が ds 内に存在する場合にはTrue time: O(1) ds["Keys"] ds のキーをリストとして返す time: O(n) ds["Length"] ds に保存されたキーと値のペアの数 time: O(1) ds["Lookup",key] ds 内に key と一緒に保存される値を返し,このキーを一番最後に使われた値とする.キーが見付からない場合には,Missingオブジェクトを返す time: O(1) ds["Lookup",key,defFun] ds 内に key と一緒に保存される値を返し,このキーを一番最後に使われた値とする.キーが見付からない場合には,defFun[key]を返す time: O(1) ds["Peek"] ds に保存される最新の値を返す time: O(1) ds["Peek",key] ds 内に key と一緒に保存される値を返す.このキーは一番最後に使われた要素とはしない. time: O(1) ds["RemoveOldest"] ds 内の最も古いキーと値のペアを削除する time: O(1) ds["Values"] ds の値をリストとして返す time: O(n) ds["Visualization"] ds の可視化を返す time: O(n) - 以下の関数もサポートする.
-
dsi===dsj dsi が dsj に等しい場合はTrue FullForm[ds] ds の完全形 Information[ds] ds についての情報 InputForm[ds] ds の入力形 Normal[ds] ds を通常の式に変換する - "LeastRecentlyUsedCache"が最大数のキーと値のペアを保存するとき,任意の新たな挿入によって,最近最も使われていないペアが強制削除される.
例題
すべて開くすべて閉じる例 (2)
新しい"LeastRecentlyUsedCache"は,CreateDataStructureを使って作成できる:
キーが見付からない場合には,Missingオブジェクトが返される:
スコープ (2)
情報 (1)
新しい"LeastRecentlyUsedCache"は,CreateDataStructureを使って作成することができる: