Коды Грея
Код Грея - такое упорядочение k-ичных (обычно двоичных) векторов, что соседние вектора отличалются только в одном разряде. Код назван в честь Френка Грея, который в 1947 году получил патент на "отраженный двоичный код". Изначально он предназначался для избавления от паразитных состояний в электромеханических переключателях, однако сейчас область его применения гораздо шире.
Алгоритм построения
Существует несколько способов построения Кода Грея, самый простой из них - постоение так называемого зеркального Кода Грея: Для получения кода длины n производится n шагов. На первом шаге код имеет длину 1 и состоит из двух векторов (0) и (1). На каждом следующем шаге в конец списка заносятся все уже имеющиеся вектора в обратном порядке, и затем к первой половине получившихся векторов дописывается "0", а ко второй - "1". Таким образом с каждым шагом длина векторов увеличивается на 1, и их количество вдвое. Таким образом количество векторов длины n равно
.