Determine if tree is spanning tree
TF
= graphisspantree(G
)
G | N-by-N sparse matrix whose lower triangle represents an undirected
graph. Nonzero entries in matrix G indicate
the presence of an edge. |
Tip
For introductory information on graph theory functions, see Graph Theory Functions.
returns
logical 1 (TF
= graphisspantree(G
)true
) if G
is
a spanning tree, and logical 0 (false
) otherwise.
A spanning tree must touch all the nodes and must be acyclic. G
is
an N-by-N sparse matrix whose lower triangle represents an undirected
graph. Nonzero entries in matrix G
indicate
the presence of an edge.
Create a phytree object from a phylogenetic tree file.
tr = phytreeread('pf00002.tree')
Phylogenetic tree object with 33 leaves (32 branches)
Create a connection matrix from the phytree object.
[CM,labels,dist] = getmatrix(tr);
Determine if the connection matrix is a spanning tree.
graphisspantree(CM) ans = 1
Add an edge between the root and the first leaf in the connection matrix.
CM(end,1) = 1;
Determine if the modified connection matrix is a spanning tree.
graphisspantree(CM) ans = 0
[1] Siek, J.G., Lee, L-Q, and Lumsdaine, A. (2002). The Boost Graph Library User Guide and Reference Manual, (Upper Saddle River, NJ:Pearson Education).
graphallshortestpaths
| graphconncomp
| graphisdag
| graphisomorphism
| graphmaxflow
| graphminspantree
| graphpred2path
| graphshortestpath
| graphtopoorder
| graphtraverse
| isspantree