Skip to content

NonBoundaryNodes ​

The number of nodes on neither the left spine nor the right spine.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000204via BinaryTree✓
NonBoundaryNodes(tree)The number of nodes on neither the left spine nor the right spine.
Typed signatures
TypePackageApplies
(binary_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.
  • FindStat calls these the internal nodes.

Definition

Epsil, as the implementation runs it.

on BinaryTree, over _x

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

Examples

Basic #

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

live ↗
InNonBoundaryNodes(BinaryTree⁡([[0,0],[[0,0],0]]))\mathrm{NonBoundaryNodes}({\operatorname{BinaryTree}}(\bigl\lbrack\bigl\lbrack0, 0\bigr\rbrack, \bigl\lbrack\bigl\lbrack0, 0\bigr\rbrack, 0\bigr\rbrack\bigr\rbrack))Out11
Properties #

FindStat's value for [.,.]

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

Known value · FindStat St000204

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

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

Known value · FindStat St000204

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

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

Known value · FindStat St000204

About
Examples4
CrosswalkFindStat