%I #5 May 01 2014 02:43:29
%S 0,1,2,3,4,7,5,6,11,9,28,15,17,62,8,13,10,14,45,18,24,27,100,36,187,
%T 117,91,1292,22,70,38,72,680,93,111,295,1229,16,47,26,29,102,12,20,23,
%U 58,302,73,189,147,2090,21,34,39,35,113,44,61,116,1100,162,150,179,477
%N Permutation of natural numbers induced by reranking plane binary trees given in the standard lexicographic order (A014486) with an "arithmetic global ranking algorithm", using packA048680oA054238tr as the packing bijection N X N -> N.
%H A. Karttunen, <a href="http://www.iki.fi/~kartturi/matikka/Nekomorphisms/gatomorf.htm">Gatomorphisms</a>
%H <a href="/index/Per#IntegerPermutation">Index entries for sequences that are permutations of the natural numbers</a>
%o (Scheme functions below show the essential idea. For a complete source, follow the "Gatomorphisms" link.)
%o (define A072656 (lexrank->arithrank-bijection packA048680oA054238))
%o (define (lexrank->arithrank-bijection packfun) (lambda (n) (rank-bintree (binexp->parenthesization (A014486 n)) packfun)))
%o (define (rank-bintree bt packfun) (cond ((not (pair? bt)) 0) (else (1+ (packfun (rank-bintree (car bt) packfun) (rank-bintree (cdr bt) packfun))))))
%o (define (packA048680oA054238tr x y) (A048680 (packA054238tr x y)))
%o (define (packA054238tr x y) (+ (A000695 y) (* 2 (A000695 x))))
%Y Inverse permutation: A072659. Cf. also A014486, A000695, A054238, A048680, A071651, A072634, A072636, A072646, A072656, A072660.
%K nonn
%O 0,3
%A _Antti Karttunen_, Jun 02 2002
|