上述の実施例はテーブル生成の一般的な技術を説明している。基本的にそれが全てである。ある位置に到達したとき、すべきことは既に完了している。複雑化させる小さな問題は先頭で間違ってサブ文字列を与えてしまうことである。これに対処するにはちょっとした初期化コードが必要となる。algorithm kmp_table:    input:        an array of characters, W (解析すべき単語)        an array of integers, T (生成すべきテーブル)    output:        nothing (ただし、処理を行うことでテーブルの中身が書き込まれる)    define variables:        an integer, i ← 2 (T の中で現在計算している位置)        an integer, j ← 0 (現在見ているサブ文字列の次の文字のインデックス。0から始まる)    (先頭ふたつの値は固定。ただしアルゴリズムの実装によっては具体的値は異なる)    let T[0] ← -1, T[1] ← 0    while i is less than the length of W, do:        (第一の場合: サブ文字列は継続中)        if W[i - 1] = W[j], let T[i] ← j + 1, i ← i + 1, j ← j + 1        (第二の場合: サブ文字列は継続しないが、フォールバック可能)        otherwise, if j > 0, let j ← T[j]        (第三の場合: 対象をはみ出した。このとき j = 0)        otherwise, let T[i] ← 0, i ← i + 1
このテーブルの目的は S 内の各文字を複数回照合することを防ぐことである。線形検索の性質として、パターンの先頭とマッチする文字列に遭遇したとき、次の照合を開始すべき位置を与えることで複数回照合を防ぐことができる。換言すれば、パターン内を事前に検索して照合する必要のない文字数を各文字位置に対応して算出しておくのである。ここで W の各文字位置で不一致が発生したとき、その直前の位置の文字列と W の先頭からの文字列が一致している場合、そのサブ文字列の長さのぶんだけバックトラックする。従って、T[i] の値は W の先頭からの文字列と W[i - 1]で完了する文字列が一致している長さに対応する。ここで空の文字列の長さを 0 とする。単語の先頭で不一致となる場合は特殊ケースであり（バックトラックできないため）、T[0] = -1 とする。
テーブル T が事前に用意されているとした場合、クヌース-モリス-プラット法の検索部分の計算量は O(k)（ここで k は S の長さ）となる。関数呼び出しに関わる固定オーバヘッド部分を除くと、全ての計算は while ループ内で行われるため、このループの繰り返し回数の上限が計算量となる。ここで T の性質が重要となる。S[m] から開始された照合が S[m + i] と W[i] の不一致で失敗したとき、次の照合は S[m + (i - T[i])] から開始される。次の照合は m 以降のインデックスから開始される必要があるため、T[i] < i が成り立つ。このことから、ループが最大 2k 回繰り返されることがわかる。繰り返しのたびにループ内の2つの分岐のいずれかが実行される。最初の分岐では、常に i をインクリメントして m をそのままとし、インデックス m + i を変化させることで S 内の文字を調べていく。次の分岐では i - T[i] を m に加算する。前述の通り、この加算する値は常に正の値である。従って、照合開始位置 m は増加していく。ループの終了は m + i = k となったときである。従ってループ内の各分岐は k 回実行され、各分岐は m + i か m のいずれかを増加させる。ここで、m ≤ m + i である。m = k となったとき、m + i ≥ k なので、それ以前のいずれかの時点で m + i = k となっているはずである。従っていずれにしても処理は終了する。以上からループの繰り返し回数は最大でも 2k 回であり、この検索アルゴリズムの計算量は O(k) となる。
特殊な運転台配置の竜ヶ崎線専用車として新造されたため、竣工以来現在に至るまで、同線でのみ運用され続けている。キハ520形やキハ530形が在籍していた時代には、1両から3両の範囲で必要に応じて編成を組み、いずれの場合もワンマン運転で運用された。1988年に実施された関東鉄道在籍車の塗装変更で旧塗装からクリームを基本とし、窓下に朱色の帯を巻き、その下側の境界に紺色の細帯を巻いた新塗装に変更された。1997年に竜ヶ崎線用としてキハ2000形が新造され、台車などの主要機器の老朽化が深刻になりつつあったキハ520・530形が代替された後も、本形式については搭載機器が比較的新しかったことから代替対象とはならず、そのまま残された。本形式はキハ2000形とは機器構成が全く異なるが同形式と総括制御可能であり、昼間の単行運転（後述する2012年時点では月4日間のみ）に充当される他、キハ2000形の定期検査時などには朝夕のラッシュ時に同形式と併結して運用される。本形式は長らく非冷房車のままであったが、2002年に冷房化改造工事が実施され、これをもって関東鉄道線の冷房化率は100%となっている。通常の竜ヶ崎線運用は最大2両で賄えることや、キハ20系に由来するDMH17C縦型エンジンなど搭載機器の老朽が進行したためか、2012年現在では予備車両となっており、キハ2000形の定期検査や異常発生時以外の定期運行としては毎月第1・3土曜日と第2・4（第1・3土曜日と連日となる場合は第3・5）日曜日の9時台 - 14時台に限られ、運転予定が公式サイトで発表されている。なお2012年（平成24年）11月より、エンジン換装の為しばらくの間運行休止していたが、2013年4月14日より運行を再開し、2015年4月時点では毎週土曜日の9時台 - 14時台に運行されている。（公式サイトより）