Сгенерировать случайную последовательность целых чисел, различающихся на 1 бит, без повторов

Мне нужно сгенерировать (псевдо) случайную последовательность N-битных целых чисел, в которой следующие друг за другом целые числа отличаются от предыдущих только на 1 бит, и последовательность никогда не повторяется. Я знаю, что код Грея будет генерировать неповторяющиеся последовательности с разницей всего в 1 бит, а LFSR будет генерировать неповторяющиеся случайные последовательности, но я не уверен, как объединить эти идеи, чтобы получить то, что я хочу.

Практически N будет очень большим, скажем 1000. Я хочу случайным образом выбрать это большое пространство из 2 ^ 1000 целых чисел, но мне нужно сгенерировать что-то вроде случайного блуждания, потому что рассматриваемое приложение может только переходить от одного числа к другому, переворачивая один бит.

6
задан Victor Liu 11 June 2011 в 18:44
поделиться