옵션 0 : Permuting In Place (1995), Faith E. Fich, J. Ian Munro, Patricio V. Poblete 시간 공간.O(nlogn)O(log2n)
옵션 1 : 순열을 간결한 데이터 구조로 압축하여 치트를 제거하십시오 (Munro http://www.itu.dk/people/ssrao/icalp03-a.pdf 참조) .
옵션 2 : 프라임 사이클 분해를 사용하여 파마를 간결하게 저장하고 여분의 공간을 사용하여 부정 행위 http://oeis.org/A186202
옵션 3 : 조작 된 각 사이클의 가장 큰 인덱스를 추적하십시오. 각 반복마다 보이지 않는 가장 큰 색인을 사용하여주기의 모든 항목을 하나씩 이동하십시오. 보이는 인덱스에 도달하면 사이클이 이미 조작되었으므로 모든 작업을 취소하십시오. 시간, 공간.O(n2)O(#cycles∗logn)
옵션 4 : 조작 된 각 사이클의 가장 큰 인덱스를 추적하되 고유 한 사이클 길이의 배치로만 수행하십시오. 각 반복마다 보이지 않는 가장 큰 색인을 사용하여주기의 모든 항목을 하나씩 이동하십시오. 보이는 인덱스에 도달하면 해당 사이클이 이미 조작되었으므로 모든 작업을 취소하십시오. 시간, 공백.O(n2∗distinct_cycle_lengths)O((#cycles_with_same_size)∗logn)
옵션 5 : 옵션 0과 동일한 용지에서 Munro의 가 해당 사이클에서 가장 큰 인덱스 인 경우 의 사이클을 회전합니다 . 시간 및 공간i=1..np(i)iO(n2)O(logn)