더북(TheBook)

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

 

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