그림으로 보면 이해가 가는데, 코드로 보면 이해가 안가네요..
[하노이의 탑] - 쌓아 놓은 원반을 최소의 횟수로 옮기기 위한 알고리즘
이 챕터는 글보다는 그림이 더 나은 것 같습니다.
1. 기둥 번호를 정수 1,2,3 으로 나타냅니다.
2. 기둥 번호의 합이 6이므로 시작기둥, 목표 기둥이 어느 기둥이더라도 중간 기둥은 6-x-y로 구할 수 있습니다.
3. 원반은 no개이므로 move 메서드는 아래와 같은 과정을 거칩니다.
1) 바닥 원반을 제외한 그룹(원반[1] ~ 원반[no-1])을 시작 기둥에서 중간 기둥으로 옮깁니다.
2) 바닥 원반 no를 시작 기둥에서 목표 기둥으로 옮겼음을 출력합니다.
3) 바닥 원반을 제외한 그룹(원반[1] ~ 원반[no-1])을 중간 기둥에서 목표 기둥으로 옮깁니다.
4. 1), 3) 은 재귀 호출에 의해 해결합니다.
'자바 Do,It 알고리즘(끝)' 카테고리의 다른 글
[자바 Do It! 알고리즘]Chapter06 정렬 (단순선택정렬) (0) | 2021.05.11 |
---|---|
[자바 Do It! 알고리즘]Chapter05 재귀 알고리즘 (8퀸) (0) | 2021.05.09 |
[자바 Do It! 알고리즘]Chapter05 재귀 알고리즘 (재귀 알고리즘 분석 - recur 메서드) (0) | 2021.05.08 |
[자바 Do It! 알고리즘]Chapter05 재귀 알고리즘 (유클리드 호제법) (0) | 2021.05.06 |
[자바 Do It! 알고리즘]Chapter05 재귀 알고리즘 (팩토리얼 구하기) (0) | 2021.05.06 |