C++/자료구조&알고리즘

2-3. 순환 하노이탑

CE : 하랑 2023. 9. 28. 15:54

 

하노이탑 -> 순환

void hanoi_tower(int n, char from, char tmp, char to){
    if(n==1){
        // from -> 원판 1 -> to로 이동
    }else{
        hanoi_tower(n-1, from, to, tmp);
        // from -> 원판 n -> to로 이동
        hanoi_tower(n-1, tmp, from, to);
    }
}

 

 

- 여러 군데에서 자기 자신을 호출하는 경우는 쉽게 반복적인 코드로 바꿀 수 없다 -> 명시적인 스택을 만들어서 순환을 시뮬레이션할 수는 있다.

 

하노이 탑 관련 문제

 

https://harang1412.tistory.com/1540

 

 

 

 

 

'C++ > 자료구조&알고리즘' 카테고리의 다른 글

4. DFS, BFS  (0) 2023.10.16
3-1. 스택  (0) 2023.09.29
2-3. 순환, 반복 피보나치 수열의 계산  (0) 2023.09.27
2-2. 순환, 반복 거듭제곱값  (0) 2023.09.27
2-1. 순환, 반복 팩토리얼  (0) 2023.09.27