Use this if you are using igraph from R
sample_spanning_tree picks a spanning tree of an undirected graph
randomly and uniformly, using loop-erased random walks.
sample_spanning_tree(graph, vid = 0)
The input graph to sample from. Edge directions are ignored if the graph is directed.
When the graph is disconnected, this argument specifies how to handle the situation. When the argument is zero (the default), the sampling will be performed component-wise, and the result will be a spanning forest. When the argument contains a vertex ID, only the component containing the given vertex will be processed, and the result will be a spanning tree of the component of the graph.
An edge sequence containing the edges of the spanning tree. Use
subgraph.edges to extract the corresponding subgraph.
subgraph.edges to extract the tree itself
g <- make_full_graph(10) %du% make_full_graph(5) edges <- sample_spanning_tree(g) forest <- subgraph.edges(g, edges)