タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

アルゴリズムに関するshgamのブックマーク (3)

  • 文字列の検索<アルゴリズム<Web教材<木暮

    学習のポイント キーワードによる全文検索など、テキストtの文字列のなかに、パターンpと同じ文字列が存在するかどうかを調べて、存在したらその位置を知らせるといった処理は、多様な場面で必要になります。 そのため、多くのプログラミング言語では、文字列探索の機能を標準関数として提供していますが、ここでは、それを自作することをとおして、アルゴリズムを習得することを目的にします。 文字列探索の基的方法として単純比較法と力任せ法、高速探索の代表的な方法として、KMP法とBM法を取り上げます。 なお、文字列探索では「正規表現」が重要なのですが、かなり高度になるので、ここでは対象外とします。 キーワード アルゴリズム、文字列の検索、KMP法、BM法 文字列検索とは、テキストの文字列内に、パターンの文字列と一致する部分文字列が存在するかどうかを調べ、存在したならば、その位置を求めるという操作です。例えば、

  • Rubyで文字列検索アルゴリズムを表現しよう!

    text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." text.index("velit") # => 285

  • 大人気のKMP法&BM法 - またお前かよ!

    この日記へのアクセス元を見てみると「KMP法 BM法」でウェブ検索してここにたどり着いた人が何人かいるみたい。しかもここ数日だけ。なんでこうなるか。わかってます。筧先生の課題がわからなくてウェブで調べてる人々だ! 提出が昨日までだったし。 この課題、BM法という文字列検索アルゴリズムを自力で完成させて性能まで調べろと言うもの。しかしこのBM法は前に書いたようにややこしい。そして言ってしまうと、ウェブ検索ではまともな答えは見つかりません。 BM法を昨日ずっと考えていたけど結局わからなくて、今日になってやっと完成できました。一日遅れだね。おかげで、今日提出するコンパイラ拡張という課題が終わらなかったわけですが。 ここで、BM法とは何か。文字列からあるパターンを探索するとき、パターンを後ろから比較することで比較回数を減らそうってアルゴリズムです。 abcabcabcd abcd ↑       

    大人気のKMP法&BM法 - またお前かよ!
  • 1