Skip to content

LargestSearchTreeLeafLabel ​

The largest label of a leaf of the binary search tree of p, inserting p(1), ..., p(n) in order.

✓ checked against that system · ! checked, with disagreements (hover a chip)FindStatSt000727via Permutation✓
LargestSearchTreeLeafLabel(p)The largest label of a leaf of the binary search tree of p, inserting p(1), ..., p(n) in order.
Typed signatures
TypePackageApplies
(list<integer> | permutation) -> numbercombinatoricsalways

Domain: Permutation statistics

Details
  • Defined over Permutation as an expression in _x, evaluated by compute-engine — the definition IS the implementation.
  • Takes a Permutation, and also a bare list of integers: this reading compares entries with each other rather than with their positions, so it stands on any sequence.

Definition

Epsil, as the implementation runs it.

on Permutation, over _x

0 if Length(_x) < 1 else Max(Map(
                                  Function(_x[i], i),
                                  Filter(
                                          Range(1, Length(_x)),
                                          Function(Apply(
                                                          (lo: integer) => Apply(
                                                                                  (hi: integer) => Count(Filter(
                                                                                                                 Range(1, Length(_x)),
                                                                                                                 Function(k > i &&
                                                                                                                          _x[k] > lo &&
                                                                                                                          _x[k] < hi, k),
                                                                                                               )) ==
                                                                                                   0,
                                                                                  Min(Join(
                                                                                            [Length(_x) + 1],
                                                                                            Map(
                                                                                                 Function(_x[j], j),
                                                                                                 Filter(
                                                                                                         Range(1, i),
                                                                                                         Function(_x[j] > _x[i], j),
                                                                                                       ),
                                                                                               ),
                                                                                          )),
                                                                                ),
                                                          Max(Join(
                                                                    [0],
                                                                    Map(
                                                                         Function(_x[j], j),
                                                                         Filter(
                                                                                 Range(1, i),
                                                                                 Function(_x[j] < _x[i], j),
                                                                               ),
                                                                       ),
                                                                  )),
                                                        ), i),
                                        ),
                                ))

Examples

Basic #

the one-line word 312312

live ↗
InLargestSearchTreeLeafLabel(Permutation⁡([3,1,2]))\mathrm{LargestSearchTreeLeafLabel}({\operatorname{Permutation}}([3, 1, 2]))Out22

the one-line word 312312, as a plain list

live ↗
InLargestSearchTreeLeafLabel([3,1,2])\mathrm{LargestSearchTreeLeafLabel}(\bigl\lbrack3, 1, 2\bigr\rbrack)Out22

the one-line word 24132413

live ↗
InLargestSearchTreeLeafLabel(Permutation⁡([2,4,1,3]))\mathrm{LargestSearchTreeLeafLabel}({\operatorname{Permutation}}([2, 4, 1, 3]))Out33
Properties #

FindStat's value for [1,2]

live ↗
InCombinatorialStat(Permutation⁡([1,2]),LargestSearchTreeLeafLabel)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1, 2]), \text{LargestSearchTreeLeafLabel})Out22

Known value · FindStat St000727

FindStat's value for [2,1]

live ↗
InCombinatorialStat(Permutation⁡([2,1]),LargestSearchTreeLeafLabel)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([2, 1]), \text{LargestSearchTreeLeafLabel})Out11

Known value · FindStat St000727

FindStat's value for [1,2,3]

live ↗
InCombinatorialStat(Permutation⁡([1,2,3]),LargestSearchTreeLeafLabel)\mathrm{CombinatorialStat}({\operatorname{Permutation}}([1, 2, 3]), \text{LargestSearchTreeLeafLabel})Out33

Known value · FindStat St000727

About
Examples6
CrosswalkFindStat