PD-Dアルゴリズム・プログラミング · アルゴリズム
KMP法(クヌース・モリス・プラット法)
Knuth-Morris-Pratt Algorithm
けーえむぴーほう
文字列の中からパターンを探す文字列探索のアルゴリズム。パターンを前処理して、不一致が起きたときにパターンをどこまでずらせるかを表す表(失敗関数)を作っておき、すでに一致した部分の情報を使って比較をやり直さずに進む。テキスト上の比較位置を後戻りさせないので、テキスト長n、パターン長mのとき最悪でもO(n+m)で探索できる。
共有:
Related
他の資格での定義
Related
関連キーワードの用語
PD-DBM法(ボイヤ・ムーア法)
パターンの末尾から先頭に向かって文字を比較する文字列探索のアルゴリズム。不一致になったテキストの文字がパターンのどこにあるか(不一致文字規則)や、すでに一致した末尾の部分(一致接尾辞規則)をもとに、パターンを一度に大きくずらせる。パターンが長く文字の種類が多いほど比較の回数が少なくなり、実用上は高速なので、テキストエディタの検索などに使われる。
A-1文字列処理のアルゴリズム
文字列の検索、照合、置換、比較などを行うアルゴリズム。長い文字列の中から特定のパターンを探す文字列照合では、1文字ずつずらして比べる力まかせ法のほか、不一致の情報を使ってずらす幅を大きくするKMP法やBM法がある。
