标题:求助,多模式匹配
只看楼主
dapang623525
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-8-17
 问题点数:0 回复次数:0 
求助,多模式匹配

现在做一个算法,要实现多模式匹配。
不知道有没有人研究过,可不可以给我讲讲。
我现在基本实现了功能,但是我的代码中有太多的循环,和判断,效率不好。
我的做法是:
假设 qstr 是要搜索的字符串,*pstr[]是所有模式组成的数组,
找出模式中长度最短的,假设它的长度是 m,计算出一共有多少关键字 n
第一次从qstr的最左边读出m 个数据,做了个n重的循环判断*(qstr+m)和关键字的关系,
if(*(qstr+m)==关键子第m个位置上的数据)
{
从qstr开始向后便利,遇到不等就return, -------①
如果qstr的移动步数已经=关键字的程度是,表示匹配了,

}
if (*(qstr)是关键字的子集)
{
找到*(qstr)在关键字中的位置 x ,从qstr+x 开始继续向后搜索)步骤与①相似
}
继续读M个数据,一直到qstr的结束。
我在里面用到了好多循环,判断。我在网上看到不少的算法是要建立辅助表,或树什么的。
本人就回链表,但不知道怎么和这个算法结合。
不知道有没有高手指点指点,谢谢。

搜索更多相关主题的帖子: 模式 
2007-08-27 16:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-165765-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.365778 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved