2# | 재 귀(Recursion)

2018. 12. 16. 23:41·공부 ✨/자료구조




재귀 








팩토리얼



1
2
3
4
5
6
7
8
9
10
#include<stdio.h>
 
int Factorial(int n)
{
    if (n==0 )
        return 1 ;
    else 
        return n* Factorial (n-1);
                
}
cs




피보나치 수열


0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ...



1
2
3
4
5
6
7
8
9
10
11
12
#include<stdio.h>
 
int Fibo(int n)
{
    if (n == 1)
        return 0 ;
    else if ( n == 2 ) 
        return 1; 
    else 
        return Fibo(n-1)+Fibo(n-2);
            
}
cs




하노이 타워



제약 조건 : 원반은 한 번에 하나씩만 옮길 수 있다.

옮기는 과정에서 작은 원반 위에 큰 원반을 옮길 수는 없다.







하노이 타워의 문제의 해결


1. 작은 원반 n-1 개를 A --> B로 이동 

2. 큰 원반 1개를 A --> C로 이동

3. 작은 원반 n-1개를 B ->C 로 이동  






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<stdio.h>
 
int HanoiTower(int num, char from , char by , char to)
{
    if (num == 1)
    {
        printf("원반을1 을 %c 에서 %c로 이동 \n ", from , to);
        
    }
    else
    {
        HanoiTower(num-1,from,to,by);
        printf("원반 %d를 %c -> %c 로 이동 \n", num,from,to);
        HanoiTower(num-1,by,from,to);
        
    }
}
int main(void)
{
    // 막대 A의 원반  3개를 막대 B 를 경유하여 막대 C로 옮기기 
    HanoiTower(3,'A','B','C');
    return 0; 
}
Colored by Color Scripter
cs








저작자표시 비영리 변경금지 (새창열림)
'공부 ✨/자료구조' 카테고리의 다른 글
  • 4 # | 더미 연결 리스트
  • 3 # | 연결 리스트
  • 1# | 순차 탐색, 이진탐색, 빅-오 표기법
  • 자료구조 연습문제 해답 (천인국- 생능 출판사)
hjc_
hjc_
  • hjc_
    개인노트
    hjc_
  • 전체
    오늘
    어제
    • 분류 전체보기 (130)
      • 일상 ✨ (1)
      • 책 읽기 ✨ (4)
      • 자유게시판 ✨ (25)
      • 영어공부 ✨ (20)
        • 오늘의 영어 (5)
        • 매일 20문장 영어 회화 (8)
        • 공부 자료 (7)
      • 공부 ✨ (78)
        • C (13)
        • JAVA (26)
        • JSP (1)
        • Python (2)
        • 머신러닝 & 딥러닝 (6)
        • 리눅스 (4)
        • 자료구조 (7)
        • 알고리즘 (8)
        • 네트워크 보안 (2)
        • 컴퓨터 구조 (1)
        • 데이터 베이스 (1)
        • 공부 자료 (7)
      • 실습 ✨ (0)
      • 프로젝트 ✨ (0)
  • 블로그 메뉴

    • 홈
  • 링크

    • dynalist :: 계획, 프로젝트 관리
    • 비캔버스 :: 온라인 화이트 보드
  • 공지사항

  • 인기 글

  • 태그

    답
    Introduction to Algorithms
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hjc_
2# | 재 귀(Recursion)
상단으로

티스토리툴바