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...-->... .x...C...............A..().........()..A..
....\./.............\./.................\./....-->....\./...
.....x...............x...................x.............x....
((a . b) . c) -> ((b . a) . c) ______ (a . ()) ---> (() . a)
See the Karttunen OEIS-Wiki link for a detailed explanation how to obtain a given integer sequence from this definition.
LINKS
PROG
(Scheme functions implementing this automorphism on list-structures/S-expressions, both constructive (*A089858) and destructive (*A089858!) versions:)
(define (*A089858 s) (cond ((not (pair? s)) s) ((not (pair? (cdr s))) (cons (cdr s) (car s))) (else (cons (cons (cadr s) (car s)) (cddr s)))))
(define (*A089858! s) (cond ((pair? s) (cond ((pair? (cdr s)) (robl! s) (swap! (car s))) (else (swap! s))))) s)
(define (swap! s) (let ((ex-car (car s))) (set-car! s (cdr s)) (set-cdr! s ex-car) s))
(define (robl! s) (let ((ex-car (car s))) (set-car! s (cddr s)) (set-cdr! (cdr s) ex-car) (swap! (cdr s)) (swap! s) s))
CROSSREFS
KEYWORD
nonn
AUTHOR
Antti Karttunen, Nov 29 2003
EXTENSIONS
Further comments and constructive implementation of Scheme-function (*A089858) added by Antti Karttunen, Jun 04 2011
STATUS
approved