KMP法……パターン列について、別の配列を用意する。その配列には、照合失敗した場合にその場所に一致させる配列番号を格納する。最悪O(n)。 [データ構造とアルゴリズム]
2010-06-27 19:12:18@hareno_t 「私は大学生の時、一番難しいものはKMP法とコンパイラ原理と思います。」コンパイラ原理の先生はそう言いました
2010-06-27 19:26:12@miretoss いや、無論BM法の方が効率も良いし、賢いやり方してると思うよ。うん。有効性もBM法の方が高いし、KMP法は必然的に思いつくようなものだし(アルゴリズムは難しいけれど)。
2010-06-27 19:31:08@hareno_t 何か、KMP法の考え方は好きなんだけど、枕パターンって完璧じゃないと思うんだよね・・ある特殊な並べ方すると発見しない気がする
2010-06-27 19:33:20基本は「後ろから照合」する。一致しなかった場合、その文字列中に同じ文字が入っていなかったら、どれだけずらしても無駄足なので、一気に文字列文ずらす。それが可能であるような表を別に作る。 [データ構造とアルゴリズム]
2010-06-27 19:17:55@ymtkyk そうですねー。Oはどちらかというと無限大への発散しやすさを表してるので、計算量自体は文字数が多くなればなるほど多くなりますが、それでもO(n^2)ほどは大きくならない、という意味です。 [データ構造とアルゴリズム]
2010-06-27 19:40:19スタック……最後尾にプッシュ、最後尾からポップ。 待ち行列……最後尾にenqueue、前からdequeue。(なんかひy…… [データ構造とアルゴリズム]
2010-06-27 19:43:46最短経路問題:Dijkstra(ダイクストラ)アルゴリズムとFloydアルゴリズム。ダイクストラは一つ一つ追加していく。Floydは破壊的探索。 [データ構造とアルゴリズム]
2010-06-27 20:07:44データ整列法……単純洗濯法、単純挿入法、ヒープ整列法、クイックソート、バブルソート、シェル法、シェーカ整列法マージソート法etcetc... [データ構造とアルゴリズム]
2010-06-27 20:13:13