Изменения

Перейти к: навигация, поиск

Коды Грея для перестановок

183 байта добавлено, 22:45, 9 декабря 2010
Построения Кода Грея для перестановок
Действовать будем так. Каждые <tex>k - 1</tex> итерации будем давать команду на сдвиг <tex>k</tex>-го элемента, а затем менять направление движения его на противоположное и будем давать команду на сдвиг элемента с меньшим номером; для этих выделенных итераций нужно делать то же самое: на <tex>k - 2</tex> из них двигать <tex>(k - 1)</tex>-й элемент, а на <tex>(k - 1)</tex>-й итерации сменить ему направление движения, и т.д.
Построение. Кроме рабочей перестановки <tex>r</tex> и её номера в факториальной системе <tex>t</tex> (младший разряд - последний) потребуется иметь массив <tex>d</tex>, задающий текущее направления движения всех элементов. Удобно еще иметь массив, сопоставляющий каждому элементу <tex>i</tex> то место <tex>p_i</tex>? , на котором стоит <tex>i</tex> стоит в перестановке <tex>r</tex>. Начальное состояние.<tex> r = (1, 2, ..., k); </tex><tex> p = (1, 2, ..., k); </tex><tex> t = (0, 0, ..., 0); </tex><tex> d = (-1, -1, ..., -1); </tex>
== '''Сведение задачи построение кода Грея для перестановок к графам''' ==
152
правки

Навигация