# An Efficient Generalized Shift-Rule for the Prefer-Max De Bruijn Sequence

One of the fundamental ways to construct De Bruijn sequences is by using a shift-rule. A shift-rule receives a word as an argument and computes the digit that appears after it in the sequence. An optimal shift-rule for an (n,k)-De Bruijn sequence runs in time O(n). We propose an extended notion we name a generalized-shift-rule, which receives a word, w, and an integer, c, and outputs the c digits that comes after w. An optimal generalized-shift-rule for an (n,k)-De Bruijn sequence runs in time O(n+c). We show that, unlike in the case of a shift-rule, a time optimal generalized-shift-rule allows to construct the entire sequence efficiently. We provide a time optimal generalized-shift-rule for the well-known prefer-max and prefer-min De Bruijn sequences.

READ FULL TEXT