Adaの Kruskal のアルゴリズムを参照すると、どこから始めればよいかわかりません。
実際にプログラムを書く前に、すべてを考えようとしていますが、どのデータ構造を使用すべきか、すべてをどのように表現するかについてかなり迷っています。
私の当初の考えは、隣接リストで完全なツリーを表すことでしたが、ウィキペディアを読むと、アルゴリズムは次のように述べられてcreate a forest F (a set of trees), where each vertex in the graph is a separate tree
おり、非常に面倒にならずにこれを実装する方法がわかりません。
次にやるべきことは ですがcreate a set S containing all the edges in the graph
、繰り返しになりますが、これを行う最善の方法が何であるかはわかりません。to
、 、from
を含むレコードの配列を考えていましたが、 .weight
で迷ってしまいましたforest
。
最後に、エッジが 2 つのツリーを接続しているかどうかを知る方法を見つけようとしていますが、これをすべて行う最善の方法が何であるかはわかりません。