[자료구조] Hanoi Tower (하노이 타워)

등록일 2003.06.21 기타파일 (c) | 1페이지 | 가격 500원

목차

없음

본문내용

탑을 쌓을 수 있는 3개의 장소(편의상 1번, 2번, 3번)가 있다. 첫 번째 탑에는 반경이 서로 다른 n 개의 층이 쌓여 있다. 각 층은 아래에서부터 반경이 큰 순서대로 쌓여져 있다. 아래의 두 규칙을 준수하면서 탑을 옮기려고 한다.
① 한 번에 제일 위의 한 개의 층을 옮길 수 있다.
② 탑의 아래층은 위층보다 반경이 커야한다.
과제는 n개 층의 탑을 i에서 j로 옮기는 Hanoi(n, i, j)를 작성하는 것입니다.
좀더 C처럼 선언하면 void Hanoi(int nDisk, int nFrom, int nTo);가 되겠죠.
5층탑을 1에서 2로 옮기는 것을 구하기 위해서는 Hanoi(5, 1, 2);와 같이 호출하면 됩니다.
참고로 Hanoi(2, 1, 2)를 호출하면 다음과 같이 출력됩니다.
1-->3 ;; 1번 탑의 장소에서 3번 탑의 장소로 옮긴다.
1-->2 ;; 1번 탑의 장소에서 2번 탑의 장소로 옮긴다.
3-->2 ;; 3번 탑의 장소에서 2번 탑의 장소로 옮긴다.
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서