Johnson-Trotter 算法
当一个数上方箭头所指的一侧, 相邻的数比这个数小的时候, 称这个数处于活动状态
6、3、5处于活动状态,显然1永远不是活动的
n除了以下两种情形外,它都处于活动状态:
(1) n是第一个数,且其方向指向左侧;
(2) n是最后一个数,且其方向指向右侧。
Johnson-Trotter 算法:
(1)确定“活动的最大数”
(2)互换位置
(3)改变比“活动最大数”大的数的箭头方向
当一个数上方箭头所指的一侧, 相邻的数比这个数小的时候, 称这个数处于活动状态
6、3、5处于活动状态,显然1永远不是活动的
n除了以下两种情形外,它都处于活动状态:
(1) n是第一个数,且其方向指向左侧;
(2) n是最后一个数,且其方向指向右侧。
Johnson-Trotter 算法:
(1)确定“活动的最大数”
(2)互换位置
(3)改变比“活动最大数”大的数的箭头方向