关于一张表的搜索,如何避免回溯,期待高手发言

webber84 2006-06-01 08:41:51
现有一张表,结构如下:

col1 col2 col3 col4 value
2 3 * 3 "hello"
2 * 4 5 "hi"

第一到第四列为四个匹配条件,value为对应的值。前四列的取值可以是一个整数,或者是*表示通配。现给定一个序列,比如"2, 3, 4, 5",要求在表中查找其对应的值(这个例子里它对应的值应该是"hi")。目前采用多叉树来实现,树的每一层都是表中的一列,value在叶节点上。但问题是有太多的回溯,因为有通配符的存在。 请问是否有一个不回溯,或者尽量减少回溯的算法?
...全文
152 点赞 收藏 2
写回复
2 条回复
mmmcd 2006年06月01日
根据表可以构造出一个NFA
把它变成DFA,就能消除回溯

搜搜有关算法先
回复 点赞
webber84 2006年06月01日
本人算法是在不甚精通,能否给点更详细的提示,比如NFA,DFA的中文名字?
回复 点赞
发动态
发帖子
数据结构与算法
创建于2007-08-27

2.9w+

社区成员

3.4w+

社区内容

数据结构与算法相关内容讨论专区
社区公告
暂无公告