回复: 算法与数据结构题 没什么思路,这类数据挖掘,搜索引擎风格的题目网上的确很多。
能想到的,大概是对B做字典索引处理,但是对A中任意串,在B中搜索包含字串,速度怎么也快不起来,(如果放弱要求,前向一致的话,就简单多了,例如词霸或者搜索引擎的输入提示应该就是这样的简化处理)。
当然,可以做些预处理,例如从A中随机抽样数万串,进行统计;找出在B中频率高的字串,(例如,英文中the出现的频率会很高),依照出现频率进行排序,然后以后在搜索时,优先匹配这些出现频率高的,命中率可能会提高些。
但是这些预处理的时间要记入效率么?这可能是个漫长的训练过程。但是以后的搜索会省些时间。 |