我认为我现在正在寻找一种树算法,但我忘记了它的名字,谷歌搜索并没有帮助。
我正在搜索对数据具有最佳查找性能的算法。特点: - 每次查找都会受到欢迎。因此,所有被查找的键都存在(可能有一些未命中,但这些将被视为&#34;错误配置&#34;,并且此类未命中的发生可忽略不计) - 很可能(数据集针对此优化)随后发生相同的查找 - 例如密钥123可能有一百万次查找,其间可能有一次查找密钥456,然后再查找数百万次查找123.然后查找下一个可能具有相同密钥的组,依此类推< / p>
当然可以使用哈希算法。但是出于给定的目的,我记得有一个搜索优化树,它以这样的方式优化查找,使得最近的查找位于树的最顶层。因此,您可能直接将树的第一个节点命中为O(1),而不需要散列函数或散列存储的模数。
我正在寻求这种算法来实现移动设备上图形渲染的原始性能。
答案 0 :(得分:6)
答案 1 :(得分:2)
我建议使用哈希表来完成这项工作。要加速后续搜索,您可以缓存阵列中最近访问的K个不同元素。如果K很小(<20左右),那么该阵列中的线性搜索将非常快,因为它可以保留在L1缓存中。