본문으로 건너뛰기
김신건의 로그

점화식 (Recurrence Relations)

· 수정 · 📖 약 5분 · 1,603자/단어 #discrete-math #recurrence #algorithm-analysis
Recurrence Relations, 점화식, 재귀 관계, 마스터 정리, 생성함수 풀이, 특성 방정식

정의

점화식 (Recurrence Relation) 은 수열 번째 항을 앞선 항 (또는 몇 개) 로 표현하는 관계식입니다.

초기 조건 과 점화식이 함께 있으면 수열의 모든 항을 순차적으로 결정 가능.

: 피보나치 , .

컴퓨터 과학 응용: 재귀 알고리즘의 시간 복잡도, 자료구조의 크기 분석, 동적 계획법의 상태 전이.

유명한 점화식

1. 피보나치 수열

값:

2. 팩토리얼

3. 하노이 탑

판을 옮기는 최소 이동 수:

풀이: .

4. 병합 정렬 시간 복잡도

풀이 (마스터 정리): .

5. 이항 계수

6. 카탈란 수

값:

시각화: 재귀 트리

: 의 재귀 트리.

                    n
                   /  \
                 n/2   n/2       (합 = n)
                / \   / \
              n/4 n/4 n/4 n/4    (합 = n)
              ...
             ...
             1 1 1 ... 1          (n 개의 잎)

레벨 수 = . 각 레벨의 합 = . 총 = .

선형 점화식 풀이

형태

는 상수, . 차 선형 동차 상수 계수 점화식.

특성 방정식

이라고 가정. 대입:

이 방정식의 해 가 특성근.

일반해 (서로 다른 특성근)

는 초기 조건으로 결정.

예: 피보나치

.

특성 방정식:

(황금비), .

초기 조건 대입:

(Binet의 공식)

중복근

특성근 중근이면 항:

: .

특성 방정식: . (중근).

일반해: .

비동차 (비선형 항 있음)

이면 비동차.

일반해 = 동차해 + 특수해

특수해 형태는 형태에 따라 시행. (다항식 × 지수) 이면 특수해도 유사 형태.

예:

동차해:

특수해 시도: . 대입:

일반해:

마스터 정리 (Master Theorem)

분할 정복 재귀:

  • : 하위 문제 수
  • : 크기 축소 비율
  • : 분할/병합 비용

세 경우:

  1. ():
  2. :
  3. 이고 정규 조건:

알고리즘 예

알고리즘점화식결과
이진 탐색
병합 정렬
카라추바 곱셈
Strassen 행렬 곱

생성함수 (Generating Functions)

수열을 함수로.

예: 피보나치

. 점화식 로:

부분 분수 분해 -> 의 닫힌 공식.

유용성

  • 조합 항등식 증명
  • 확률 생성 함수
  • 재귀 관계 해결
  • 점근 분석

자세한 것은 생성함수 참조.

유용한 점화식 표

점화식

컴퓨터 과학 응용

알고리즘 분석

재귀 알고리즘의 시간 복잡도 = 점화식.

  • 이진 탐색:
  • 병합 정렬:
  • 퀵 정렬 (worst):

동적 계획법

DP 는 근본적으로 점화식.

  • 피보나치
  • LCS:
  • 배낭:

자료구조

  • B-tree 높이: ( = 분기)
  • 힙 삽입/삭제:
  • AVL 트리: 회전 균형

확률

  • 랜덤 워크의 재귀:
  • 랜덤 알고리즘의 기댓값 분석

함정

1. 초기 조건 개수

차 점화식은 개의 초기 조건 필요. 필요.

2. 특성 방정식 근

중복근 처리 잊지 말 것. 이면 곱한 항.

3. 마스터 정리 경우 3

정규 조건 (regularity): (). 대부분 성립하지만 확인 필요.

4. 지수 vs 다항

(지수 ). (분할 대신 감소).

두 형태 구분 필수.

관련 위키

이 글의 용어 (8개)
그래프 이론 기초 (Graph Theory)discrete-math
정의 그래프 (Graph) $G = (V, E)$ 는 정점 (vertex) 의 집합 $V$ 와 간선 (edge) 의 집합 $E$ 로 이루어진 이산 구조입니다. 간선은 정점의 쌍 …
마스터 정리 (Master Theorem)algorithm
정의 마스터 정리 (Master Theorem) 는 분할 정복 알고리즘의 시간 복잡도를 표현하는 점화식을 닫힌 형태 (closed form) 로 풀어주는 공식입니다. 적용 대상:…
이산수학 (Discrete Mathematics)discrete-math
정의 이산수학 (Discrete Mathematics) 은 이산 (discrete, 셀 수 있는) 대상을 다루는 수학의 분야입니다. 연속 (continuous) 대상 을 다루는 …
조합론 기초 (Combinatorics)discrete-math
정의 조합론 (Combinatorics) 은 유한 집합의 원소를 세거나 배열하는 방법을 다루는 수학 분야입니다. "경우의 수 계산" 과 "구조의 존재/구성" 이 핵심 주제. 컴퓨…
증명 기법 (Proof Techniques)discrete-math
정의 증명 (proof) 은 명제가 참임을 논리적으로 확립하는 절차입니다. 컴퓨터 과학에서는 알고리즘 정확성, 자료구조 불변식, 암호 안전성, 형식 검증 등에 필수. 이 문서는 …
Catalan Number: C_nalgorithm
정의 Catalan number 는 조합론에서 자주 등장하는 수열. 닫힌 형식(closed form): $$ Cn = \frac{1}{n+1} \binom{2n}{n} = \fr…
DP Optimization: CHT, D&C, Knuth, SMAWKalgorithm
정의 일반 DP 를 O(N²) 또는 O(N³) 에서 O(N log N) 또는 O(N) 으로 낮추는 여러 최적화 기법의 총칭입니다. 모두 특정 조건 (monotone, concav…
Generating Functionalgorithm
정의 Generating Function (생성 함수) 은 수열 를 형식 멱급수 (formal power series) 으로 인코딩한 것. 수열의 산수 를 다항식 / 멱급수의 대…

💬 댓글

사이트 검색 / 명령어

검색

스크롤 = 확대/축소 · 드래그 = 이동 · 0 = 원래 크기 · ESC = 닫기