http://en.wikipedia.org/wiki/Minimum_spanning_tree最速の最小スパニングツリーアルゴリズム
は私がベンチマークに最高の最高に対してツリーアルゴリズムをまたがる私の最低限を探しています。 誰かが私がこれらのアルゴリズムのC++実装をどこで見つけることができるか知っていますか?私はbingedとグーグルで何も見つかりませんでした。これらのアルゴリズムが最高の場合は、確かにどこかにC++の実装が必要ですか?
日にツリー アルゴリズムをまたがる最速の最小値はBorůvkaのアルゴリズムの 組み合わせと 逆に基づく線形時間に 無作為化アルゴリズムを発見した デイビット・カルガー、フィリップ・クライン、ロバート Tarjan、によって開発されました-deleteアルゴリズム[2] [3] バーナード・シャゼル(Bernard Chazelle)の最速非ランダム化アルゴリズム は、 ソフトヒープに基づいており、おおよその優先度は です。[4] [5]その実行時間はO(m α(m、n))であり、mは の辺の数であり、nは頂点の数であり、 αはAckermann関数の古典的な逆関数 である。 関数αは非常にゆっくりと成長するので、 すべての実用的な目的のために、 は定数よりも大きくないと考えられることがあります。 4;したがって、Chazelleのアルゴリズム は線形時間に非常に近くなります。 エッジ重みが の有界ビット長の整数である場合、決定的な アルゴリズムは、実行時間が直線 であることが分かっています。[6]存在するかどうかは、 一般的な重みのための実行時間が直線 の確定的アルゴリズムであるかどうかは依然として未解決の質問 です。しかし、Seth PetieおよびVijaya Ramachandranは、 が計算上の複雑度が であることが判明していることがわかっています。
私はすでにBoost C++のグラフアルゴリズムに対してテストしています。
素晴らしい答え。 Big Oには、ハッシュテーブルのケースや「良い」ハッシュ関数への依存など、いくつかの注意点が付いてくることもあることを付け加えるべきです。ここでハッシュ関数について議論しているわけではありませんが、分断された木などでも同じようなことが起こる可能性があります。 – wheaties
コードはありません!実験結果はありません!私が愛する科学的方法はどこですか:) – toto