伪LRU树算法

时间:2010-05-03 16:22:29

标签: algorithm binary-tree

许多关于伪LRU算法的描述涉及使用二叉搜索树,并设置标记以便在每次访问树时从您正在搜索的节点“指出”。

这导致LRU的合理近似。但是,从描述中可以看出,所有被认为是LRU的节点都是叶节点。是否存在伪LRU算法,该算法处理静态树仍然相当好,同时确定非叶节点是合适的LRU候选者?

编辑: 我已经使用散列图和链接列表实现了LRU。我有兴趣看到使用伪lru树的性能影响(特别是对并发读取)。 这就是为什么我特别询问伪lru树算法,但我应该更清楚。

2 个答案:

答案 0 :(得分:1)

您始终可以使用旋转的ala红黑树将内部节点向下推到树叶。

在这样做的同时保持树的平衡可能很难。但你确实可以选择哪个子树下推,所以也许并非不可能......

答案 1 :(得分:0)

根据此处提供的基准数字Study of Different Cache Line Replacement Algorithms in Embedded Systems,伪LRU(PLRUm,PLRUt,MPLRU)似乎是实施的最佳候选者。