京都大学 情報学研究科 知能情報学専攻 2019年8月実施 情報学基礎 F2-2
Author
祭音Myyura
Description
例えば、図 (a) のように、text の位置

(1) pattern の位置
- (i) AAAB
- (ii) ABAC
(2) (1) の pattern (ii) と text "ABABBAABACA" との照合の過程を図示せよ。 pattern と text のどの文字が比較されて行くかを明示すること。
(3) このアルゴリズムの時間計算量を示せ。また、このアルゴリズムにおける比較の最大回数と、その具体例 (pattern と text) を示せ。
Kai
(1)
(i)
(ii)
(2)
ABABBAABACA
ABAC
ABAC
ABAC
ABAC
(3) - send help
このアルゴリズムはクヌース–モリス–プラット法(KMP法と略記)と呼ばれる文字列検索アルゴリズムの一種である。
計算量は
最悪の pattern と text の例:
- pattern: AAAAA
- text: AAAABAAAABAAAABAAAAA