KMP字符串查找算法
来源:互联网 发布:三菱plc编程指令大全 编辑:程序博客网 时间:2024/06/05 06:53
<span style="font-size:18px;">/** * KMP字符串查找算法 * @author xxxu * */public class KMP {private String pat;private int[][] dfa; //KMP的核心public KMP(String pat){this.pat=pat;int M=pat.length();int R=65536;//Unicode码值不大于65536dfa=new int[R][M];dfa[pat.charAt(0)][0]=1;for (int X = 0,j=1; j < M; j++) {for(int c=0;c<R;c++){dfa[c][j]=dfa[c][X];//复制匹配失败情况下的值}dfa[pat.charAt(j)][j]=j+1;//设置匹配成功情况下的值X=dfa[pat.charAt(j)][X];//更新重启状态}}public int search(String pat,String txt){int i;int j;int M=pat.length();int N=txt.length();for(i=0,j=0;i<N&&j<M;i++){j=dfa[txt.charAt(i)][j];}if(j==M){return i-M; //找到匹配(到达模式字符串的结尾)}else{return N;//未找到匹配(到达文本字符串的结尾)}}}</span>
0 0
- KMP算法查找字符串
- KMP字符串查找算法
- KMP字符串查找算法
- 字符串查找算法-KMP
- KMP - 字符串查找算法
- 字符串查找算法kmp
- 字符串查找算法kmp
- KMP字符串查找算法
- KMP字符串查找算法
- 查找字符串之 KMP算法
- KMP子字符串查找算法
- 字符串的查找--KMP算法
- 字符串查找(2)KMP算法
- 字符串匹配查找算法-KMP
- KMP算法:查找子字符串
- KMP算法查找相同字符串
- WINX新增(1): KMP字符串查找算法
- WINX新增(1): KMP字符串查找算法
- 基于S3C6410的ARM11学习(三) 核心初始化之设置中断向量表
- 模态跳转和push跳转到公共页面如何返回
- Swift-常量与变量
- hibernate映射(五)——继承映射
- angular 表单验证 遇到问题总结
- KMP字符串查找算法
- jsp状态管理(Cookie Session)学习笔记整理
- Linux TCP/IP Socket编程
- Android典型界面设计(8) ——ViewPager+PagerSlidingTabStrip实现双导航
- ES插入更新操作
- 读《光荣与梦想》二,The Glory and The Dream
- memcached的集群安装
- MT2601 Smart wearable Application Processor
- linux wc 命令