Java实现算法导论中朴素字符串匹配算法
来源:互联网 发布:淘宝店铺首页海报制作 编辑:程序博客网 时间:2024/05/08 16:37
朴素字符串匹配算法沿着主串滑动子串来循环匹配,算法时间性能是O((n-m+1)m),n是主串长度,m是字串长度,结合算法导论中来理解,具体代码参考:
package cn.ansj;public class NavieStringMatcher {public static void main(String[] args) { String T = "欢迎访问fjssharpsword博客,致力于大数据应用解决方案提供!"; String P = "大数据应用解决方案"; NavieStringMatcher nsm = new NavieStringMatcher(); int index = nsm.stringMatcher(T, P); System.out.println("有效位移是: "+index); } /** * @author fjssharpsword * @param T 主字符串 * @param P 模式字符串 * @return s 有效位移 */ public int stringMatcher(String T, String P){ int iTLen = T.length(); int iPLen = P.length(); // 从主串开始比较 for(int i=0; i<iTLen; i++) { int k = i; // k指向主串下一个位置 for(int j=0; j<iPLen; j++) { if(T.charAt(k) != P.charAt(j)) { break; }else { k++;// 指向主串下一个位置 if(j == iPLen-1) { return i; } } } } return -1; // 匹配不成功,返回-1 } }执行结果:
有效位移是: 23
0 0
- Java实现算法导论中朴素字符串匹配算法
- 【算法导论】32.1:朴素字符串匹配算法
- Java实现算法导论中Rabin-Karp字符串匹配算法
- Java实现算法导论中有限自动机字符串匹配算法
- Java实现算法导论中KMP字符串匹配算法
- 朴素字符串匹配——算法导论
- 朴素字符串匹配算法
- 字符串朴素匹配算法
- 字符串匹配朴素算法
- 字符串匹配朴素算法
- 算法 字符串匹配之朴素算法和KMP算法及JAVA代码实现
- 【算法导论】字符串匹配
- 算法导论-字符串匹配
- 朴素模式匹配算法java实现
- 朴素的字符串匹配算法
- 字符串匹配之朴素算法
- 算法 字符串匹配算法(朴素模式及KMP模式) java实现
- 字符串匹配 -- 朴素字符串匹配算法
- 什么是模拟信号
- java运算符(与,或,非,异或)
- extjs6、sencha touch 点击穿透/鬼点击(Ghost Click) 的缓解办法
- markdown编辑器的使用
- Gradle使用笔记整理
- Java实现算法导论中朴素字符串匹配算法
- 嚼枸杞
- Android Studio导入GitHub项目中的开源库
- Struts2--自定义拦截器
- 双网卡同时上内外网方法
- ABAP普通屏幕上input如何显示负数的价格curr或者dec
- 在Web服务器上安装由商业CA颁发的SSL证书
- OOX
- 杂