upvote
You could also use group theory to help you.

Basically, pick a large prime number p as the size of your array and a number 0 < x < p. Then visit your array in the order of (i*x) modulo p.

You can also do something with (x^i) modulo p, if your processor is smart enough to figure out your additive pattern.

Basically, the idea is to look into the same theory they use to produce PRNG with long cycles.

reply