今天写了一个KMP匹配算法,写好后发现用于拼音匹配时不合适,暂存一下吧
2012-12-11 09:44
441 查看
本想提高匹配效率,查资料写了个javascript版的KMP算法,写好后发现我需要的是拼音首字母匹配,不适用,暂存一下。
function match(mainstr,srhstr){//KPM匹配算法,用于快速匹配字符串 if(!mainstr||!srhstr)return -1; var l_mainstr=mainstr.length; var l_srhstr=srhstr.length; //构建失配后特征数组 var k=0; var vec=new Array(); vec[0]=-1; for(i=1;i<l_srhstr;i++){ vec[i]=(srhstr[k]==srhstr[i])?vec[k]:k; if(srhstr[i]==srhstr[k])k++; else{k=(srhstr[i]==srhstr[0])?1:0;}; } //查找子串 i=j=0; while(i<l_mainstr){ if(mainstr[i]==srhstr[j]){j++;i++;} else{ if(vec[j]==-1){j=0;i++;} else{j=vec[j];} } //是否找到子串 if(j==l_srhstr){ return i-j; } } return -1; }
相关文章推荐
- 今天开始研究jetty .发现一个jetty 的 source 中 有一个 threadPool 研究一下
- 今天发现一个hibernate的bug,或者说一个应该注意的地方比较合适
- 今天发现一个hibernate的bug,或者说一个应该注意的地方比较合适
- 今天发现一个可用于编写v4l2 camera应用程序的库libv4l
- 今天碰到一个问题,在网上查了一下,发现有人碰到。转一下
- 今天发现一个文本压缩的好算法
- 使用Python语言写一个简单的KMP模式匹配算法实现
- 今天把自己的联想手机修了一下,居然还发现了一个小bug
- 今天我发现了一个网站有很多的html5手机wap网站模板,在这里分享一下
- 今天发现一个好网站 http://www.phpv.net/
- KMP模式匹配算法
- HOHO,发现了一个好咚咚,分享一下。
- 今天的一个面试题,总结一下
- KMP字符串模式匹配算法最详解
- 【算法】拼音匹配算法
- 今天要准备一个项目时间安排文档,于是查了一下。
- [置顶] 解析KMP模式匹配算法
- 实现一个挺高级的字符匹配算法: 给一串很长字符串,要求找到符合要求的字符串,例如目的串:123 1******3***2 ,12*****3 这些都要找出来
- 今天忙着画一个用例图,发现一个好用的工具
- 发现Python的源代码中关于字符串fastsearch算法的一个笔误!