Изменения

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

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

724 байта убрано, 09:57, 19 декабря 2011
Нет описания правки
t := false; {булевская переменная отвечающая за порядок перебора true: от начала к концу false: от конца к началу}
for i := 1 to (n - 1)! do {перебираем все прошлые перестановки} if t = true then begin insert(prev_perm[i], t); {вставляем в конец, если t = true} writeln(prev_perm[i]); for j := 1 to n - 1 do {для каждой перестановки делаем n - 1 транспозиций}
begin
swap(prev_perm[i](j), pred_perest[i](j + 1)t); {меняем j и j + 1 элементы местами} t := false; writeln(prev_perm[i]perm);
end;
end else begin insert(prev_perm[i], t); {вставляем в начало, если t = false} writeln(prev_perm[i]); for j := n - 1 downto 1 do begin swap(prev_perm[i](j), prev_perm[i](j + 1)); {меняем j и j + 1 элементы местами} t := true; writeln(prev_perm[i]); end; end;
== Сведение задачи построения кода Грея для перестановок к графам ==
Анонимный участник

Навигация