summaryrefslogtreecommitdiff
path: root/string/kmp.cpp
diff options
context:
space:
mode:
authorPaul Jungeblut <paul.jungeblut@gmail.com>2016-10-10 21:40:43 +0200
committerPaul Jungeblut <paul.jungeblut@gmail.com>2016-10-10 21:40:43 +0200
commitf1d5de7e374c215ce3da513d1dc3bb2577c1dc3e (patch)
tree6d0d195884ba804e9b777a4610f6004e53a1de60 /string/kmp.cpp
parentc245ad9089aeb8c7fc7683b6a8a20d04a74818f4 (diff)
Typesetting string section.
Diffstat (limited to 'string/kmp.cpp')
-rw-r--r--string/kmp.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/string/kmp.cpp b/string/kmp.cpp
index 47feac5..450b368 100644
--- a/string/kmp.cpp
+++ b/string/kmp.cpp
@@ -1,5 +1,5 @@
// Laufzeit: O(n + m), n = #Text, m = #Pattern
-vector<int> kmp_preprocessing(string &sub) {
+vector<int> kmpPreprocessing(string &sub) {
vector<int> b(sub.length() + 1);
b[0] = -1;
int i = 0, j = -1;
@@ -11,9 +11,8 @@ vector<int> kmp_preprocessing(string &sub) {
return b;
}
-vector<int> kmp_search(string &s, string &sub) {
- vector<int> pre = kmp_preprocessing(sub);
- vector<int> result;
+vector<int> kmpSearch(string &s, string &sub) {
+ vector<int> pre = kmpPreprocessing(sub), result;
int i = 0, j = 0;
while (i < (int)s.length()) {
while (j >= 0 && s[i] != sub[j]) j = pre[j];
@@ -21,7 +20,6 @@ vector<int> kmp_search(string &s, string &sub) {
if (j == (int)sub.length()) {
result.push_back(i - j);
j = pre[j];
- }
- }
+ }}
return result;
}