Изменения

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

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

93 байта добавлено, 10:43, 7 декабря 2014
Псевдокод получения кода Грея
'''list'''< '''list'''<'''int'''> > gray_code(n):
'''if''' n == 1
'''return''' [{1}] <font color=darkgreen> //возращаем список из одной перестановки</font color=darkgreen>
'''else'''
'''list'''< '''list'''<'''int'''> > result = [] <font color=darkgreen> //пустой список</font color=darkgreen> '''list'''< '''list'''<'''int'''> > perms = gray_code(n - 1) <font color=darkgreen> //perms {{---}} перестановки из n - 1 элемента</font color=darkgreen> '''bool''' backward = ''false'' <font color=darkgreen> //переменная которая говорит с какой стороны заполнять перестановку</font color=darkgreen> ('''for''' perm '''in''' perms) <font color=darkgreen> //perm {{---}} текущая перестановка</font color=darkgreen>
'''if''' backward
'''list'''<'''int'''> current = concat(perm, {n})<font color=darkgreen> //дописываем {n} в конец perm</font color=darkgreen>
130
правок

Навигация