一回でわかりやすく書くのは難しいので、簡潔データ構造 LOUDS の解説(全12回、練習問題付き)というシリーズにまとめました。 (2014/01/26) 古い内容を削除しました。
プリム法 (Prim's MST Algorithm) は最小全域木問題を効率的に解くグラフ理論におけるアルゴリズムです。 最小全域木 (MST: Minimum Spanning Tree) とは,グラフを構成する「辺の重みの総和」が最小となる全域木です。 「全域」とは,元のグラフがあって,その部分グラフのうち(辺の構成は変わっていても)頂点集合が同じグラフを指します。 木とは連結 (connected) でかつ閉路 (loop) が無いグラフなので,つまり,元となる(木ではない)グラフがあって, そこから,切り離された頂点を作らずに(連結であり),閉路を作るような辺が「辺の重みの総和が最小となるように」全て取り除かれた(木である)グラフを求める問題です。 MST(最小全域木)を求めるアルゴリズムとしては,ここで説明するプリム法の他にクラスカル法が有名です。 アルゴリズム 以下のグラフを
2. 挨拶 • 自己紹介 – 秋葉拓哉 / @iwiwi – 東京大学 コンピュータ科学専攻 M1 – アルゴリズム系の研究室 – プログラミングコンテストが好き – 2009 年にインターンさせてもらって以来アルバイト アリ本 (グラフの話もあるよ) 1 3. いろんなグラフ 道路・交通ネットワーク • 頂点:交差点,駅など • 辺:道,路線など やりたいことの例 • 案内,交通管制 • 輸送や災害のための解析 • 地理情報と絡めたサービス • … 2 4. いろんなグラフ ソーシャルネットワーク • 頂点:人 • 辺:人間関係 やりたいことの例 • 「知り合いかも?」とか • 重要度・影響度の解析 • コミュニティ解析 • 情報の伝播力の解析 • … (MentionMap で作成) 映画 3
先日、TimSortというソートアルゴリズムが話題になりました。TimSortは、高速な安定ソートで、Python(>=2.3)やJava SE 7、およびAndroidでの標準ソートアルゴリズムとして採用されているそうです。 C++のstd::sort()よりも高速であるというベンチマーク結果1が話題になり(後にベンチマークの誤りと判明)、私もそれで存在を知りました。実際のところ、ランダムなデータに対してはクイックソート(IntroSort)ほど速くないようですが、ソートというシンプルなタスクのアルゴリズムが今もなお改良され続けていて、なおかつ人々の関心を引くというのは興味深いものです。 しかしながら、オリジナルのTimSortのコードは若干複雑で、実際のところどういうアルゴリズムなのかわかりづらいところがあると思います。そこで今回はTimSortのアルゴリズムをできるだけわかりやすく解
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く