はまやんはまやんはまやん文字列に関連したアルゴリズムをメモしていく。1つ1つはリンクを参照し詳しくは解説しないが、イメージ的なものと実装例は(なるべく)自分用に書いておく。長くなりすぎたら分けるかも。文字列と言いつつプログラム上は文字コードの数列なので、元から数列であるデータを処理する際にもアルゴリズムは適用できる。文字列に関するアルゴリズムは、主に「検索」や「汎用的なデータ構造を構築」するものが多い。文字列アルゴリズムに限定した話ではないが、特に文字列では「平均計算量」と「最悪計算量」に差があるものが多く、この概念を区別したい。一致箇所が多くなるような意地悪な入力を与えると非常に多くの比較を行わなければならない、というケースがある。一致しますか?(10万文字)→先頭から10万回比較しないとわからない競技プログラミングではだいたいこういう意地悪ケースが入っているので最悪計算量を意識する必要があるが、実用の上では平均計算量も(というかそちらの方が)重要。明確に区別しづらかったり、正確な計算量の特定が難しかったりで、各アルゴリズムについて平均と最悪を必ずしも書いてはいない。