Ukkonenのアルゴリズムを使用して、最長共通部分文字列、最長パラドーム部分文字列、最長繰り返し部分文字列、すべてのパターンと部分文字列検索をKMPとサフィックスツリーで検索できますか?もしそうなら、両方のアルゴリズムは線形時間の複雑さを持つので、どちらを使うべきですか?時間の複雑さに対するUkkonenのアルゴリズムを用いたKnuth-Morris-Pratt(KMP)と接尾辞木の違い。
0
A
答えて
0
最も長い共通部分文字列を見つけるために、線形の複雑さを持つKadaneのアルゴリズムを使用します。最も長いPalindromicサブストリングでは、線形の複雑さも持つManacherのアルゴリズムが選択されます。繰り返される文字列とすべてのパターンを検索する場合、選択肢はKMPとBoyer-Mooreの間で沸騰します。 Boyer-Mooreは、最初のパターンではなく、最後の文字とマッチします。最後に一致しない場合、最初は一致しないようにする必要があります。 KMPは、不一致が発生したときに前に一致した文字の再検査を迂回するという観察を利用して、本文文字列S内の単語Wの出現を検索する。 これは、ACTGTのような小さなセットに対してKMPを若干うまく最適化します。
関連する問題
- 1. 接尾辞木に関するUkkonenのアルゴリズムの理解
- 2. 接尾辞配列対接尾辞木
- 3. Ukkonenの接尾辞ツリーに関する解説
- 4. アルゴリズムの複雑さと実行時間
- 5. アルゴリズムの時間複雑
- 6. 接尾辞木構築
- 7. 時間の複雑さのためのアルゴリズムを分析する
- 8. ダイクストラのアルゴリズム対ユニフォームコストの検索(時間の複雑性)
- 9. 時間の複雑対数
- 10. アルゴリズムのBigO時間の複雑度
- 11. ヒープのアルゴリズム時間の複雑度
- 12. 複数のoccurencesのKMPアルゴリズム
- 13. 遺伝的アルゴリズムの時間複雑度
- 14. 分割アルゴリズム - 時間の複雑度
- 15. 再帰アルゴリズムの時間複雑さと空間の複雑さはどのようなものですか?オペレーター?
- 16. 時間の複雑さと
- 17. アルゴリズム時間の複雑さを計算する方法
- 18. アルゴリズムの時間複雑さを決定する
- 19. JavaScriptでオブジェクトを辞書として使用する時間の複雑さ
- 20. このアルゴリズムの時間の複雑さは何ですか
- 21. 対数時間複雑度
- 22. このアルゴリズムの時間の複雑さは正しいですか?
- 23. 隣接するサブアレイの時間の複雑さを減らす
- 24. パスカル・トライアングル・アルゴリズムの時間複雑さは何ですか?
- 25. Javaの再帰アルゴリズムの時間的複雑さ
- 26. 時間の複雑さと空間の複雑さ、空間の複雑さの計算方法
- 27. KMPアルゴリズムのプレフィックステーブル
- 28. 接頭辞と接尾辞の間のコンテンツを抽出する方法は?
- 29. Vue.js値の接頭辞と接尾辞
- 30. Javaアルゴリズム:奇数偶数を分離する(時間空間の複雑さ)
宿題に関する質問ですか?これまでに何を研究していますか? – AgataB
いいえ、宿題に関する質問ではありません。私はそれについて少し研究をしました。 –