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

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在叶节点上。但问题是有太多的回溯,因为有通配符的存在。 请问是否有一个不回溯,或者尽量减少回溯的算法?
...全文
204 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmmcd 2006-06-01
  • 打赏
  • 举报
回复
根据表可以构造出一个NFA
把它变成DFA,就能消除回溯

搜搜有关算法先
webber84 2006-06-01
  • 打赏
  • 举报
回复
本人算法是在不甚精通,能否给点更详细的提示,比如NFA,DFA的中文名字?

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧