您的位置:首页 > 大数据 > 人工智能

Naive String Matching: String Matching

2015-05-19 07:31 267 查看

Naive string matching:



Pseudo code:



Java code:

/**
* Created with IntelliJ IDEA.
* User: 1O1O
* Date: 2015-03-31
* Time: 15:40 PM
* :)~
* NAIVE-STRING-MATCH:STRING-MATCH
*/
public class Main {
public static void NAIVE_STRING_MATCHER(String Text, String Pattern){
int n = Text.length();
int m = Pattern.length();
char[] textToChar = Text.toCharArray();
char[] patternToChar = Pattern.toCharArray();

for(int s=0; s<=n-m; s++){
int count = 0;
for(int i=0; i<m; i++){
if(patternToChar[i] == textToChar[s+i])
count++;
else
break;
}
if(count == m)
System.out.println("Pattern occurs with shift: "+(s+1));

}
}

public static void main(String[] args) {
String Text = "bacbababaabcbabababacababbababacabbc";
String Pattern = "ababaca";
NAIVE_STRING_MATCHER(Text, Pattern);
}
}


Output:

Pattern occurs with shift: 16
Pattern occurs with shift: 27


Reference:

From: 《INTRODUCTION TO ALGORITHMS》THIRD EDITION.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息