IT용어위키



Recurrence Relation

Recurrence Relation is an equation that defines a sequence of values using previous terms in the sequence. It is widely used in mathematics and computer science to analyze recursive algorithms and discrete structures.

Key Concepts

  • Recursive Definition: Expresses a term in a sequence in terms of one or more preceding terms.
  • Base Case: Specifies the initial condition(s) required to compute later terms.
  • Closed-Form Solution: A non-recursive formula that directly computes any term in the sequence.

Types of Recurrence Relations

Type Description Example
Linear Recurrence Relation A recurrence where each term is a linear function of previous terms. Fibonacci sequence: F(n) = F(n-1) + F(n-2).
Homogeneous Recurrence Relation A recurrence with no additional terms outside the recursive part. T(n) = 2T(n/2).
Non-Homogeneous Recurrence Relation Includes an additional function term. T(n) = 2T(n/2) + n.
Divide-and-Conquer Recurrence Defines complexity of recursive algorithms. T(n) = 2T(n/2) + O(n) (Merge Sort).

Examples

  • Fibonacci Sequence
    • Recurrence: F(n) = F(n-1) + F(n-2), with F(0) = 0, F(1) = 1.
    • Closed-form solution (Binet’s formula): F(n) = (φⁿ - (1-φ)ⁿ) / √5, where φ is the golden ratio.
    • Application: Dynamic programming, algorithm design.
  • Merge Sort Time Complexity
    • Recurrence: T(n) = 2T(n/2) + O(n).
    • Solution: T(n) = O(n log n) using the Master Theorem.
    • Application: Sorting large datasets efficiently.
  • Tower of Hanoi
    • Recurrence: T(n) = 2T(n-1) + 1.
    • Solution: T(n) = 2ⁿ - 1.
    • Application: Recursive problem-solving.

Methods for Solving Recurrence Relations

Several techniques are used to derive closed-form solutions:

  • Substitution Method: Expands the recurrence into multiple steps and finds a pattern.
  • Recursion Tree Method: Visualizes the recursive breakdown to sum costs at each level.
  • Master Theorem: Provides direct solutions for common divide-and-conquer recurrences.
  • Characteristic Equation Method: Used for linear recurrence relations to derive a closed formula.

Applications

Recurrence relations are used in:

  • Algorithm Analysis: Time complexity of recursive algorithms.
  • Dynamic Programming: Defining optimal substructure relations.
  • Graph Theory: Counting paths and spanning trees.
  • Mathematical Sequences: Fibonacci numbers, Catalan numbers, binomial coefficients.

Comparison with Iterative Methods

Approach Description Complexity Example
Recurrence Relation Defines problems recursively Merge Sort: O(n log n)
Iterative Solution Computes results step-by-step Iterative Fibonacci: O(n)

See Also


  출처: IT위키(IT위키에서 최신 문서 보기)
  * 본 페이지는 공대위키에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 공대위키에서 확인하세요!