login
The OEIS is supported by the many generous donors to the OEIS Foundation.

 

Logo
Hints
(Greetings from The On-Line Encyclopedia of Integer Sequences!)
A059252 Hilbert's Hamiltonian walk on N X N projected onto x axis: m(3). 19

%I #47 Jun 08 2021 13:53:11

%S 0,0,1,1,2,3,3,2,2,3,3,2,1,1,0,0,0,1,1,0,0,0,1,1,2,2,3,3,3,2,2,3,4,5,

%T 5,4,4,4,5,5,6,6,7,7,7,6,6,7,7,7,6,6,5,4,4,5,5,4,4,5,6,6,7,7,8,9,9,8,

%U 8,8,9,9,10,10,11,11,11,10,10,11,12,12,13,13,14,15,15,14,14,15,15,14

%N Hilbert's Hamiltonian walk on N X N projected onto x axis: m(3).

%C This is the X-coordinate of the n-th term in Hilbert's Hamiltonian walk A163359 and the Y-coordinate of its transpose A163357.

%H Antti Karttunen, <a href="/A059252/b059252.txt">Table of n, a(n) for n = 0..65535</a>

%H Joerg Arndt, <a href="http://www.jjj.de/fxt/#fxtbook">Matters Computational (The Fxtbook)</a>, section 1.31.1 "The Hilbert curve", page 85, lin2hilbert.

%H Michael Beeler, R. William Gosper, and Richard Schroeppel, <a href="https://dspace.mit.edu/handle/1721.1/6086">HAKMEM</a>, MIT Artificial Intelligence Laboratory report AIM-239, February 1972. Item 115 by Gosper, page 52. Also <a href="http://www.inwap.com/pdp10/hbaker/hakmem/topology.html#item115">HTML transcription</a>. (To use algorithm S or the state table, pad n with high 0-bits to a multiple of 4 bits.)

%H J. Shallit, <a href="https://arxiv.org/abs/2106.01062">Hilbert's spacefilling curve described by automatic, regular, and synchronized sequences</a>, arXiv:2106.01062 [cs.FL], June 2 2021.

%H <a href="/index/Con#coordinates_2D_curves">Index entries for sequences related to coordinates of 2D curves</a>

%F Initially [m(0) = 0, m'(0) = 0]; recursion: m(2n + 1) = m(2n).m'(2n).f(m'(2n), 2n).c(m(2n), 2n + 1); m'(2n + 1) = m'(2n).f(m(2n), 2n).f(m(2n), 2n).mir(m'(2n)); m(2n) = m(2n - 1).f(m'(2n - 1), 2n - 1).f(m'(2n - 1), 2n - 1).mir(m(2n - 1)); m'(2n) = m'(2n - 1).m(2n - 1).f(m(2n - 1), 2n - 1).c(m'(2n - 1), 2n); where f(m, n) is the alphabetic morphism i := i + 2^n [example: f(0 0 1 1 2 3 3 2 2 3 3 2 1 1 0 0, 2) = 4 4 5 5 6 7 7 6 6 7 7 6 5 5 4 4]; c(m, n) is the complementation to 2^n - 1 alphabetic morphism [example: c(0 0 1 1 2 3 3 2 2 3 3 2 1 1 0 0, 3) = 7 7 6 6 5 4 4 5 5 4 4 5 6 6 7 7]; and mir(m) is the mirror operator [example: mir(0 1 1 0 0 0 1 1 2 2 3 3 3 2 2 3) = 3 2 2 3 3 3 2 2 1 1 0 0 0 1 1 0].

%F a(n) = A002262(A163358(n)) = A025581(A163360(n)) = A059906(A163356(n)).

%e [m(1)=0 0 1 1, m'(1)= 0 1 10] [m(2) =0 0 1 1 2 3 3 2 2 3 3 2 1 1 0 0, m'(2)=0 1 1 0 0 0 1 1 2 2 3 3 3 2 2 3].

%o (C) void h(unsigned int *x, unsigned int *y, unsigned int l){

%o x[0] = y[0] = 0; unsigned int *t = NULL; unsigned int n = 0, k = 0;

%o for(unsigned int i = 1; i<l; i++){

%o switch(i>>(2*n)){

%o case 1: x[i] = y[i&k]; y[i] = x[i&k]+(1<<n); break;

%o case 2: x[i] = y[i&k]+(1<<n); y[i] = x[i&k]+(1<<n); break;

%o case 3: x[i] = (2<<n)-1-x[i&k]; y[i] = y[k-i&k]; break;

%o case 4: n++; k = (1<<(2*n))-1; t=x; x=y; y=t; x[i] = 0; y[i] = 1<<n; break;

%o default:;}}} /* _Jared Rager_, Jan 09 2021 */

%o (C++) See Fxtbook link.

%Y See also the y-projection, m'(3), A059253, as well as: A163539, A163540, A163542, A059261, A059285, A163547 and A163529.

%K nonn

%O 0,5

%A Claude Lenormand (claude.lenormand(AT)free.fr), Jan 23 2001

%E Extended by _Antti Karttunen_, Aug 01 2009

Lookup | Welcome | Wiki | Register | Music | Plot 2 | Demos | Index | Browse | More | WebCam
Contribute new seq. or comment | Format | Style Sheet | Transforms | Superseeker | Recents
The OEIS Community | Maintained by The OEIS Foundation Inc.

License Agreements, Terms of Use, Privacy Policy. .

Last modified August 25 20:22 EDT 2024. Contains 375454 sequences. (Running on oeis4.)