empty = 6 – from – to

    따라서 첫 번째 단계는 (n–1, from, empty)로 나타낼 수 있습니다.

    두 번째 단계는 하나의 원판을 from 기둥에서 to 기둥으로 옮기는 것입니다. 이는 간단히 (1, from, to)로 나타낼 수 있습니다.

    마지막 세 번째 단계는 n–1개의 원판을 empty에서 to로 옮기는 것으로, (n–1, empty, to)로 나타낼 수 있습니다.

    세 단계의 상태들은 모두 원판이 옮겨지는 과정을 나타냅니다. 따라서 원래 부분 문제 (n, from, to)는 각 단계를 모두 수행하는 과정이 되며, 다음과 같이 표기할 수 있습니다.

    (n, from, to) = (n–1, from, empty) + (1, from, to) + (n–1, empty, to)
    단 empty = 6 – from – to

    따라서 재귀는 다음과 같이 정의됩니다.

    ▼ 표 5-3 하노이의 탑 문제의 재귀 정의

    상태

    (n, from, to)

    n개의 원반을 기둥 from에서 기둥 to로 옮기는 과정

    종료 조건

    (1, from, to) = [[from, to]]

    점화식

    (n, from, to) = (n – 1, from, empty) + (1, from, to) + (n – 1, empty, to)

    단 empty = 6 – from – to

     

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.