OFFSET
0,3
COMMENTS
This automorphism effects the following transformation on the unlabeled rooted plane binary trees (letters A, B, C refer to arbitrary subtrees located on those nodes and () stands for an implied terminal node).
...B...C...........B...A
....\./.............\./
.A...x....-->....C...x.................A..().........A...()..
..\./.............\./...................\./....-->....\./...
...x...............x.....................x.............x....
(a . (b . c)) -> (c . (b . a)) ______ (a . ()) ---> (a . ())
In terms of S-expressions, this automorphism swaps car and cddr of an S-exp if its length > 1, if possible, otherwise keeps it intact.
See the Karttunen OEIS-Wiki link for a detailed explanation of how to obtain a given integer sequence from this definition.
LINKS
PROG
(Scheme functions implementing this automorphism on list-structures/S-expressions, both constructive (*A089852) and destructive (*A089852!) versions:)
(define (*A089852 s) (if (and (pair? s) (pair? (cdr s))) (cons (cddr s) (cons (cadr s) (car s))) s))
(define (*A089852! s) (cond ((not (pair? s)) s) ((not (pair? (cdr s))) s) (else (let ((org_cddr (cddr s))) (set-cdr! (cdr s) (car s)) (set-car! s org_cddr) s))))
CROSSREFS
KEYWORD
nonn
AUTHOR
Antti Karttunen, Nov 29 2003
EXTENSIONS
Further comments and constructive implementation of Scheme-function (*A089852) added by Antti Karttunen, Jun 04 2011
STATUS
approved