3

クラスカルのアルゴリズムを使用して im R(3.0.0 - Linux x32) 最小スパニング ツリーを計算するにはどうすればよいですか?

次のように、igraph (0.6.5) ライブラリを使用して重み付き完全グラフを作成します。

set.seed(1234567890)
g <- graph.full(n = 20)
E(g)$weight <- round(runif(ecount(g)), 2) * 100

そして、プリム(igraph)で最小スパニングツリーを計算できます

mstPrim <- minimum.spanning.tree(g, algorithm = "prim")

しかし、残念なことに "igraph" には Kruskal のアルゴリズムが実装されていません。

生成されたグラフを data.frame として表すことができます。

edgeMatrix <- data.frame(cbind(get.edgelist(g), E(g)$weight))
names(edgeMatrix) <- c("from", "to", "weight")

Rでクルスカルのアルゴリズムでmstを計算する簡単な方法はありますか?

4

2 に答える 2

0

ape パッケージの mst 関数がこれを実装していると思います。

http://cran.r-project.org/web/packages/ape/ape.pdf

于 2013-05-17T10:00:53.507 に答える