有谁知道一种算法,该算法可以比较两个trie树,并得出一个trie中的哪些项与另一个trie中的哪些项相匹配?
例如:
- 我有1000万条半静态规则(每天更改一次)
- 和10万个动态项目(每次运行都会更改)
- 每个规则/项目都有99个需要比较的字符串/数字字段
这些字段中的- 80个字段的限定值只能在1到1k之间
(例如:比较:身高与身高;范围:年龄与最小/最大年龄;正则表达式:名称开头,等等)
我需要知道哪些项目与哪些规则匹配,并且我需要尽可能每秒运行多次。
- 使用简单的蛮力,我将获得1x10 ^ 12支票。
- 由于数据集中的每一列都有有限数量的值,所以如果我构建一个trie,我将获得9.9 * 10 ^ 6项匹配所有规则的检查,这是最坏的情况(99列* 100k项)
- 但是如果我比较一个trie与一个trie,我会得到类似99x10 ^ 3的检查(1k值* 99列)
有人知道比较两次尝试的算法的名称吗?