diff options
| author | Paul Jungeblut <paul.jungeblut@gmail.com> | 2016-05-24 18:43:52 +0200 |
|---|---|---|
| committer | Paul Jungeblut <paul.jungeblut@gmail.com> | 2016-05-24 18:43:52 +0200 |
| commit | bd927374a755c95eb703aa77eb7f6fe9fe090dc5 (patch) | |
| tree | da03fa0b433f5d5454debd2449080a975f940506 /string | |
| parent | 66dee0f5f05a135b949910a9156b399c5408ba3b (diff) | |
String fixes and STL-Debug flag.
Diffstat (limited to 'string')
| -rw-r--r-- | string/levenshtein.cpp | 3 | ||||
| -rw-r--r-- | string/trie.cpp | 12 |
2 files changed, 8 insertions, 7 deletions
diff --git a/string/levenshtein.cpp b/string/levenshtein.cpp index d1980f8..f0df66b 100644 --- a/string/levenshtein.cpp +++ b/string/levenshtein.cpp @@ -1,3 +1,4 @@ +// Laufzeit: O(nm), Speicher: O(m), n = #s1, m = #s2 int levenshtein(string& s1, string& s2) { int len1 = s1.size(), len2 = s2.size(); vector<int> col(len2 + 1), prevCol(len2 + 1); @@ -9,4 +10,4 @@ int levenshtein(string& s1, string& s2) { col.swap(prevCol); } return prevCol[len2]; -}
\ No newline at end of file +} diff --git a/string/trie.cpp b/string/trie.cpp index f4b979c..24a21b2 100644 --- a/string/trie.cpp +++ b/string/trie.cpp @@ -1,14 +1,14 @@ -//nur fuer kleinbuchstaben! +// Implementierung für Kleinbuchstaben. struct node { node *(e)[26]; - int c = 0;//anzahl der woerter die an dem node enden. + int c = 0; // Anzahl der Wörter, die an diesem node enden. node() { for(int i = 0; i < 26; i++) e[i] = NULL; } }; void insert(node *root, string *txt, int s) { - if(s >= txt->length()) root->c++; + if(s == txt->length()) root->c++; else { - int idx = (int)((*txt).at(s) - 'a'); + int idx = (int)(*txt[s] - 'a'); if(root->e[idx] == NULL) { root->e[idx] = new node(); } @@ -17,8 +17,8 @@ void insert(node *root, string *txt, int s) { } int contains(node *root, string *txt, int s) { - if(s >= txt->length()) return root->c; - int idx = (int)((*txt).at(s) - 'a'); + if(s == txt->length()) return root->c; + int idx = (int)(*txt[s] - 'a'); if(root->e[idx] != NULL) { return contains(root->e[idx], txt, s+1); } else return 0; |
