Изменения

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

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

611 байт убрано, 03:35, 28 декабря 2010
Нет описания правки
{| width="150" align="right" cellpadding="5" border="1" style="border-collapse: collapse;"
|-
| <span style="font-size:smaller;">код Грея для перестановки при n = 2</span>
1 2
2 1
|-
| <span style="font-size:smaller;">код Грея для перестановки при n = 3</span>
1 2 3
2 1 3
2 3 1
3 2 1
3 1 2
1 3 2
|-
| <span style="font-size:smaller;">код Грея для перестановки при n = 4</span>
1 2 3 4
2 1 3 4
2 3 1 4
2 3 4 1
3 2 4 1
3 2 1 4
3 1 2 4
1 3 2 4
1 3 4 2
3 1 4 2
3 4 1 2
3 4 2 1
4 3 2 1
4 3 1 2
4 1 3 2
1 4 3 2
1 4 2 3
4 1 2 3
4 2 1 3
4 2 3 1
2 4 3 1
2 4 1 3
2 1 4 3
1 2 4 3
|}
== '''Определение''' ==
''Стандартный шаг.'' Увеличить вектор <tex>t</tex> на 1. При этом несколько младших разрядов получат нулевые значения, а в одном из разрядов, <tex>j</tex>-м, значение увеличится на 1 (при <tex>j = 1</tex> процесс заканчивается). Сменить направление движения всех элементов младше <tex>j</tex>-го, т.е. положить <tex>d_i</tex> для <tex>i > j </tex>. Поменять местами <tex>j</tex>-й элемент и соседний и соседний с ним (если <tex>d_j = -1</tex> - левый, иначе - правый).
<br>{| class = "standard" border = "1" !<tex> i </tex> |<tex> t </tex> |<tex> d </tex>|<tex> p </tex> |<tex> r </tex> |<tex> j </tex>
|Комментарии
|-
|1234
| -
|Здесь J <tex> j </tex> не определено
|-
|1
|Остановка процесса
|-}<br> Элемент <tex>j</tex> стоит на месте <tex>s = p_i</tex>. Это значит, что <tex>r_s = j</tex>. Соседнее место - это <tex>s' = p_i + d_j</tex>. На нем стоит какой-то элемент <tex>j' = r_s' </tex>. Поменять местами в перестановке элементы <tex>j</tex> и <tex>j'</tex> означает поменять местами содержимое <tex>p_i</tex> и <tex>p_j'</tex>, a также <tex>r_s</tex> и <tex>r_s'</tex>.
}
Элемент <tex>j</tex> стоит на месте <tex>s = p_i</tex>. Это значит, что <tex>r_s = j</tex>. Соседнее место - это <tex>s' = p_i + d_j</tex>. На нем стоит какой-то элемент <tex>j' = r_s' </tex>. Поменять местами в перестановке элементы <tex>j</tex> и <tex>j'</tex> означает поменять местами содержимое <tex>p_i</tex> и <tex>p_j'</tex>, a также <tex>r_s</tex> и <tex>r_s'</tex>.
== '''Сведение задачи построение кода Грея для перестановок к графам''' ==
152
правки

Навигация