TreeCount
TreeCount[tree,pattern]
gives the number of subtrees of tree whose data matches pattern.
TreeCount[tree,pattern,levelspec]
gives the total number of subtrees with data matching pattern that appear at the levels in tree specified by levelspec.
Details
- TreeCount gives the number of subtrees with data matching any pattern on any range of levels in a Tree object.
- TreeCount uses standard level specifications as in TreeLevel:
-
n levels 1 through n All levels 0 through Infinity Infinity levels 1 through Infinity {n} level n only {n1,n2} levels n1 through n2 - The default value for levelspec in TreeCount is {0,Infinity}.
- A positive level n+1 consists of all subtrees of tree that are children of subtrees on level n.
- Level 0 corresponds to the root of the tree.
- Level -1 corresponds to the leaves.
- A negative level -(n+1) consists of all subtrees whose children are on levels -1, -2, …, -n, with highest level -n.
- TreeCount traverses subtrees in a left-to-right, depth-first order, with children visited before their parents.
- TreeCount[pattern][tree] is equivalent to TreeCount[tree,pattern].
Examples
open allclose allBasic Examples (3)
Count the number of subtrees whose data is an even number:
Count the inner subtrees whose data is an even number:
Use the operator form of TreeCount:
Scope (5)
Count the subtrees whose data is an odd integer:
Count the subtrees at levels 1 and 2 whose data is an odd integer:
Count the leaf subtrees whose data is an odd integer:
Count the inner subtrees whose data is an odd integer:
Use the operator form of TreeCount:
Properties & Relations (4)
TreeCount gives the number of matching subtrees given by TreeCases:
TreeSize[tree] is equivalent to TreeCount[tree,_]:
Count[expr,pattern,levelspec] is equivalent to TreeCount[ExpressionTree[expr,"Subexpressions"],pattern,levelspec]:
Count[expr,pattern,levelspec,HeadsTrue] is equivalent to TreeCount[ExpressionTree[expr,"Subexpressions",HeadsTrue],pattern,levelspec] for positive levels:
Possible Issues (1)
TreeCount by default starts at level 1, so does not visit the root:
Text
Wolfram Research (2021), TreeCount, Wolfram Language function, https://reference.wolfram.com/language/ref/TreeCount.html.
CMS
Wolfram Language. 2021. "TreeCount." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/TreeCount.html.
APA
Wolfram Language. (2021). TreeCount. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/TreeCount.html