이 영역을 누르면 첫 페이지로 이동
컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

페이지 맨 위로 올라가기

컴퓨터와 수학, 몽상 조금

컴퓨터공학, 딥러닝, 수학 등을 다룹니다.

2. 재귀적 알고리즘

  • 2020.04.10 15:39
  • 학부 수업/자료구조
반응형

재귀recursive

알고리즘 자신을 이용하여 정의된 알고리즘을 재귀적 알고리즘이라 한다.

재귀 알고리즘은 문재를 부문재subproblem로 나눠서 푼다. 부문제가 충분히 작아지면 재귀 알고리즘은 재귀를 사용하지 않고 문제를 해결하는데 이를 베이스 케이스base case라고 한다.

기본 규칙

  1. 베이스 케이스를 가져야 하고, 항상 베이스 케이스 방향으로 진행해야 한다.
  2. 꼭 필요할 때만 사용하자. 반복되는 저장/복구 때문에 성능이 저하된다.

나쁜 재귀

잘못 설계된 재귀

  • 베이스 케이스가 없거나 도달 불능
  • 재귀 케이스가 베이스 케이스를 향해 작아진 부문제를 대상으로 재귀하지 않음나쁜 재귀의 영향
  • 부정확한 결과
  • 미정지
  • 기억장소 고갈

하노이 탑 문제

call A B C 3
    call A C B 2
        call A B C 1
            print A C
        print A B
        call C A B 1
            print C B
    print A C
    call B A C 2
        call B C A 1
            print B A
        print B C
        call A B C 1
            print A C

위는 n=3의 하노이 탑 재귀 호출 구조이다.

함수는 대강 (from, by, to, n)으로 이해하라.

반응형

'학부 수업 > 자료구조' 카테고리의 다른 글

5. 리스트의 그룹과 공유  (0) 2020.04.23
4. 리스트와 추상자료형 (Abstract Data Type)  (0) 2020.04.17
3. 기초 데이터구조 - 배열, 연결 리스트  (0) 2020.04.10
1. 알고리즘 분석과 의사코드, Big-O 표시법  (0) 2020.04.10
세종대학교 자료구조및실습 강의노트  (0) 2020.04.10

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 4. 리스트와 추상자료형 (Abstract Data Type)

    4. 리스트와 추상자료형 (Abstract Data Type)

    2020.04.17
  • 3. 기초 데이터구조 - 배열, 연결 리스트

    3. 기초 데이터구조 - 배열, 연결 리스트

    2020.04.10
  • 1. 알고리즘 분석과 의사코드, Big-O 표시법

    1. 알고리즘 분석과 의사코드, Big-O 표시법

    2020.04.10
  • 세종대학교 자료구조및실습 강의노트

    세종대학교 자료구조및실습 강의노트

    2020.04.10
다른 글 더 둘러보기

정보

컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

  • 컴퓨터와 수학, 몽상 조금의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (276)
    • Tech Trend (3)
    • Deep Learning (77)
      • 공부 노트 (21)
      • 논문 리뷰 (44)
      • 논문 스키밍 (1)
      • 영상처리 (11)
    • Engineering (3)
      • Tips (2)
      • Experiences (1)
    • Blog (42)
      • 회고 & 계획 (16)
      • 내 이야기 (8)
      • 리뷰 (3)
      • 군대에 간 공돌이 (9)
      • ML엔지니어 취업 도전기 (1)
      • 여행 (4)
    • 학부 수업 (141)
      • 머신러닝 (16)
      • C프로그래밍 (8)
      • 자료구조 (11)
      • 알고리즘 (17)
      • 디지털시스템 (25)
      • 컴퓨터구조 (11)
      • 확률과 통계 (21)
      • 선형대수학 (14)
      • 이산수학 (18)
      • 데이터시각화 (0)
    • 강의 (9)
      • 딥러닝 기초 (7)
      • Python (2)

공지사항

인기 글

정보

백지오의 컴퓨터와 수학, 몽상 조금

컴퓨터와 수학, 몽상 조금

백지오

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
반응형

나의 외부 링크

  • profile
  • github
  • linkedin

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. © 백지오. Designed by Fraccino.

티스토리툴바