jaz*_*cat 7 .net c# algorithm data-structures
对于不好的措辞和复杂的问题提前道歉,英语是我的第二语言.
我正在寻找一个数据结构来保存一个数组/列表/对象集合(在我的例子中 - 整数ID - 但这并不重要),它将跟踪元素的"使用频率".所以我可以运行后台作业并删除较少使用的元素(以释放内存使用).
类似的东西,当访问或搜索元素时- 元素被移动到"表面",将较少使用的元素"推到底部".同样,目标是确定"访问较少"的值并不时删除它们.
我正在考虑编写自己的类,继承/子类化一些现有的列表结构(LinkedList<T,T>或者Queue<T>可能),然后重载一些"GetElement"方法,以便它"返回元素并将其移动到列表的开头".所以稍后,在我的后台工作中,我可以从"列表末尾"中删除元素(b/c它们的访问频率较低).
谢谢!
更新:感谢您的评论.事实证明,"LRU"就是简单的英语.我正在关闭这个问题,因为谷歌搜索"LRU缓存c#"提供了大量的答案.