Skip to content

UnaryNodes ​

The number of nodes with exactly one child.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000385via BinaryTree✓
UnaryNodes(tree)The number of nodes with exactly one child.
Typed signatures
TypePackageApplies
(binary_tree | ordered_tree) -> numbercombinatoricsalways

Domain: Tree statistics

Details
  • Defined over BinaryTree as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a BinaryTree and nothing else — it reads values against their positions, or walks the orbits, so it needs the bijection. Applying it to a bare list is a type error, not a wrong answer.

Definition

Epsil, as the implementation runs it.

on BinaryTree, over _x

Apply(
       Function(0 if t in Integers else ((0 if t[2] in Integers else 1) if t[1] in
                                                                           Integers else 1 if t[2] in Integers else 0) +
                                        self(self, t[1]) + self(self, t[2]), self, t),
       Function(0 if t in Integers else ((0 if t[2] in Integers else 1) if t[1] in
                                                                           Integers else 1 if t[2] in Integers else 0) +
                                        self(self, t[1]) + self(self, t[2]), self, t),
       _x,
     )

Examples

Basic #

the binary tree [[.,.],[[.,.],.]][[.,.],[[.,.],.]]

live ↗
InUnaryNodes(BinaryTree⁡([[0,0],[[0,0],0]]))\mathrm{UnaryNodes}({\operatorname{BinaryTree}}(\bigl\lbrack\bigl\lbrack0, 0\bigr\rbrack, \bigl\lbrack\bigl\lbrack0, 0\bigr\rbrack, 0\bigr\rbrack\bigr\rbrack))Out11

the ordered tree [[],[[]],[]][[],[[]],[]]: only the middle child has exactly one child

live ↗
InCombinatorialStat(OrderedTree⁡([[],[[]],[]]),UnaryNodes)\mathrm{CombinatorialStat}({\operatorname{OrderedTree}}(\bigl\lbrack\bigl\lbrack\bigr\rbrack, \bigl\lbrack\bigl\lbrack\bigr\rbrack\bigr\rbrack, \bigl\lbrack\bigr\rbrack\bigr\rbrack), \text{UnaryNodes})Out11
Properties #

FindStat's value for [.,[.,.]]

live ↗
InCombinatorialStat(BinaryTree⁡([0,[0,0]]),UnaryNodes)\mathrm{CombinatorialStat}({\operatorname{BinaryTree}}(\bigl\lbrack0, \bigl\lbrack0, 0\bigr\rbrack\bigr\rbrack), \text{UnaryNodes})Out11

Known value · FindStat St000385

FindStat's value for [[.,.],.]

live ↗
InCombinatorialStat(BinaryTree⁡([[0,0],0]),UnaryNodes)\mathrm{CombinatorialStat}({\operatorname{BinaryTree}}(\bigl\lbrack\bigl\lbrack0, 0\bigr\rbrack, 0\bigr\rbrack), \text{UnaryNodes})Out11

Known value · FindStat St000385

FindStat's value for [.,[.,[.,.]]]

live ↗
InCombinatorialStat(BinaryTree⁡([0,[0,[0,0]]]),UnaryNodes)\mathrm{CombinatorialStat}({\operatorname{BinaryTree}}(\bigl\lbrack0, \bigl\lbrack0, \bigl\lbrack0, 0\bigr\rbrack\bigr\rbrack\bigr\rbrack), \text{UnaryNodes})Out22

Known value · FindStat St000385

About
Examples5
CrosswalkFindStat