返回   cpper编程论坛 > 算法
注册账号 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记版面已读

回复
 
LinkBack 主题工具 显示模式
  #1 (permalink)  
旧 2008-08-25
学习者
 
注册日期: 2008-08-11
帖子: 11
afey 正向着好的方向发展
默认 算法与数据结构题

有两个集合A和B,分别包含500万和7000个字符串,A中每个字符串可能包含0个,一个或多个B中的字符串。那么针对A中的每一个字符串W,如何最快的找出W所包含的B中的字符串,请至少给出两种方法,并比较他们的效率及影响效率的因素。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
  #2 (permalink)  
旧 2008-09-03
liuxinyu 的头像
高级会员
 
注册日期: 2006-02-09
帖子: 303
文章: 48
liuxinyu 正向着好的方向发展
默认 回复: 算法与数据结构题

没什么思路,这类数据挖掘,搜索引擎风格的题目网上的确很多。

能想到的,大概是对B做字典索引处理,但是对A中任意串,在B中搜索包含字串,速度怎么也快不起来,(如果放弱要求,前向一致的话,就简单多了,例如词霸或者搜索引擎的输入提示应该就是这样的简化处理)。

当然,可以做些预处理,例如从A中随机抽样数万串,进行统计;找出在B中频率高的字串,(例如,英文中the出现的频率会很高),依照出现频率进行排序,然后以后在搜索时,优先匹配这些出现频率高的,命中率可能会提高些。

但是这些预处理的时间要记入效率么?这可能是个漫长的训练过程。但是以后的搜索会省些时间。
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为格林尼治时间 +9。现在的时间是 12:40 PM


Powered by vBulletin® 版本 3.7.0
版权所有 ©2000 - 2008,Jelsoft Enterprises Ltd.
(C) Copy Right All Right Reserved 2001 - 2007

Search Engine Friendly URLs by vBSEO 3.1.0