Johnson-Trotter 演算法

漫舞八月(Mount256)發表於2024-11-24

當一個數上方箭頭所指的一側, 相鄰的數比這個數小的時候, 稱這個數處於活動狀態

image

6、3、5處於活動狀態,顯然1永遠不是活動的
n除了以下兩種情形外,它都處於活動狀態:
(1) n是第一個數,且其方向指向左側;
(2) n是最後一個數,且其方向指向右側。

Johnson-Trotter 演算法:

(1)確定“活動的最大數”
(2)互換位置
(3)改變比“活動最大數”大的數的箭頭方向

image

相關文章