2
Knuth-Morris-Prattアルゴリズムを複数回検索するためにO(n)時間の複雑さを実行することはできますか?複数のoccurencesのKMPアルゴリズム
Knuth-Morris-Prattアルゴリズムを複数回検索するためにO(n)時間の複雑さを実行することはできますか?複数のoccurencesのKMPアルゴリズム
文字列S [0、...、N]があるとします。接頭辞配列のi番目のエントリは、接尾辞に一致するS [0、...、i]の最大接頭辞の長さを格納することを思い出してください。 $ subjectというパターンのプレフィックス配列Pを計算することができます($がsubjectにないと仮定します)。 P [i] == length(パターン)のようなインデックスを見つけることは、線形時間で行うことができます。
非常にきれいな解決策、ありがとうございます。 –
あなたはKMPアルゴリズムを実行して、O(Kn)= O(n)でこれらのKの異なる単語の出現を見つけることができます –