We’re decided to mix up the Engine Yard blog a little and invite some community members to contribute guest posts. This one (our first!) is from Aaron Patterson – a long-time member of the Ruby community, and the creator of Nokogiri. He hacks with the developers of Seattle.rb, and travels the world to speak about Nokogiri and other Ruby topics at industry conferences and events. Nokogiri is a libr
ダイクストラ法 (Dijkstra's Algorithm) は最短経路問題を効率的に解くグラフ理論におけるアルゴリズムです。 スタートノードからゴールノードまでの最短距離とその経路を求めることができます。 アルゴリズム 以下のグラフを例にダイクストラのアルゴリズムを解説します。 円がノード,線がエッジで,sがスタートノード,gがゴールノードを表しています。 エッジの近くに書かれている数字はそのエッジを通るのに必要なコスト(たいてい距離または時間)です。 ここではエッジに向きが存在しない(=どちらからでも通れる)無向グラフだとして扱っていますが, ダイクストラ法の場合はそれほど無向グラフと有向グラフを区別して考える必要はありません。 ダイクストラ法はDP(動的計画法)的なアルゴリズムです。 つまり,「手近で明らかなことから順次確定していき,その確定した情報をもとにさらに遠くまで確定していく
FMyLife、通称FML。F My LifeのFはfxxkのF。(婉曲表現でfxxkingのことを「F-ing」(エフィング)とか言ったりもします。婉曲だけど良い子は使ってはいけませんが。とにかく「F」と前後の脈略なしにでてきたらfxxkのことだとおもってよろしい。) 「最低な経験」の投稿サイトで、必ずTodayで始めて最後にFMLで締めくくる、というお約束になっており、どれも3行程度の短いもので、中学校程度の語彙/文法力があればまず8割は理解できるはず。 内容は、日本の死ぬかと思った、に近いかな。 たとえばこんな。 Today, I found out that a co-worker of mine that I had originally hired, trained, and mentored to work in my department for the past 4 ye
このエントリで日本の大学には行くな、専門知識が身につかないから、と書いた。すると理系の人たちを中心に、「いや日本の大学でも専門知識は身につくよ」という反論をいただいた。確かに、理系ではかなり真面目に勉強をしているとは思う。しかしながら、特に経済学部・経営学部などを中心とする文系の学科では、真面目に勉強しない学生が多いのではないか。 私が卒業した東大経済学部は、入学時は「文科2類」と呼ばれる。「猫文2」と揶揄されていた。学生たちが猫と同じくらい怠け者で勉強しないという意味だ。とにかく学内に「一生懸命勉強しよう」という雰囲気がなかった。代返、ノートコピー、レポート丸写しが横行していた。日本の大学(とくに文系)は、学生たちに「勉強なんかしなくていいんだよ。大学でいろいろ難しいことを習うがそんなの社会にでて何の役にもたたないよ。知識を身につけ論理的な思考をするより、他者の顔色を見てうまく合わせる(
いよいよ今回から、具体的なアルゴリズムの紹介に入っていきます。今回は、プログラミングにおける重要な概念である「探索」について考えます。グラフに変換し、探索する、という流れを知るとともに、そのグラフを効率よく探索する方法について紹介します。 今後紹介していくアルゴリズムについて お待たせしました! 「最強最速アルゴリズマー養成講座」という連載タイトルのとおり、今回の連載からいよいよ具体的なアルゴリズムの紹介に入っていきたいと思います。 しかし、それを読んでいただく前に、1つ注意してもらいたいことがあります。連載第3回でもお伝えしたように、「問題を、既存の適当なアルゴリズムに当てはめる」という考え方は、非常に危険である、ということです。 筆者の経験上、TopCoderでRedCoder以上を目指すのであれば、回答時間短縮のために、いままでのパターンを利用するのも方法の1つなのですが、本連載では
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く