algorithm - 算法-给定一个内存访问序列,给出缓存未命中的最小次数

标签 algorithm caching

给定的输入是:缓存的大小s,内存条目的数量n,以及一系列的内存访问。

给出可能的最小缓存未命中数。

示例:

s = 3, n = 4 1 2 3 1 4 1 2 3 min_miss = 4

我整天都被困住了。提前致谢!

您可以决定缓存采取的任何行为。例如,您不必接受一个条目,即使它已被访问。而且它不需要是常规的。您不需要遵循固定的“规则”来缓存。

最佳答案

尝试关注 http://en.wikipedia.org/wiki/Page_replacement_algorithm#The_theoretically_optimal_page_replacement_algorithm - 当你需要换掉一些东西时,换掉在尽可能长的时间内不会再次使用的元素。由于您提前获得了整个内存访问序列,这对您来说是可行的。这显然是局部最优的,至少在缓存变满后的第一次缓存未命中之前是这样,因为到那时每个其他策略都至少有一次缓存未命中。对我来说这不是全局最优的——搜索我在 http://www.stanford.edu/~bvr/psfiles/paging.pdf 找到了证据并声称其最优性的其他证据确实存在,但时间更长。

关于algorithm - 算法-给定一个内存访问序列,给出缓存未命中的最小次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18426627/

相关文章:

c++ - 对数字进行分组 C++

c++ - 在中序遍历中,如何从一个递归到下一个递归保存一个元素?

algorithm - 这个循环优化叫什么,它是如何工作的?

algorithm - 寻找快速计算h-index的算法

string - 了解 DC3/Skew 算法的实现以创建后缀数组线性时间

javascript - $.ajax() 调用,仅在更新时

html - 结合 HTML5 localStorage 和本地数据库以获得更多空间?

c++ - 计算缓存命中率和未命中率的程序

IE9 中的 JavaScript 缓存问题?

jQuery 缓存选择器