graphisspantree

Determine if tree is spanning tree

Syntax

TF = graphisspantree(G)

Arguments

G N-by-N sparse matrix whose lower triangle represents an undirected graph. Nonzero entries in matrix G indicate the presence of an edge.

Description

Tip

For introductory information on graph theory functions, see Graph Theory Functions.

TF = graphisspantree(G) returns logical 1 (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.

Examples

  1. Create a phytree object from a phylogenetic tree file.

    tr = phytreeread('pf00002.tree')
    
    Phylogenetic tree object with 33 leaves (32 branches)
  2. Create a connection matrix from the phytree object.

    [CM,labels,dist] = getmatrix(tr);
  3. Determine if the connection matrix is a spanning tree.

    graphisspantree(CM)
    
    ans =
    
         1
  4. Add an edge between the root and the first leaf in the connection matrix.

    CM(end,1) = 1;
  5. Determine if the modified connection matrix is a spanning tree.

    graphisspantree(CM)
    
    ans =
    
         0

References

[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).

Introduced in R2006b