Python में Recursion क्या है?

Python में Recursion एक ऐसी तकनीक है जिसमें एक function खुद को call करता है। इसका उपयोग तब किया जाता है जब हम किसी problem को छोटे subproblems में divide करना चाहते हैं। 

Recursion में function खुद को तब तक call करता है जब तक base condition पूरी नहीं हो जाती। Base condition वह condition होती है जो recursion को stop करती है।

Recursion का Structure

Recursion में दो मुख्य parts होते हैं:

  1. Base case – यह वह condition है जो recursion को रोकने का काम करती है।
  2. Recursive case – इसमें function खुद को call करता है।

Recursion का Syntax

def function_name(parameters):
    if base_condition:
        return value
    else:
        return function_name(modified_parameters)

Recursion का Example

मान लें, हमें किसी number के factorial को calculate करना है। Factorial को गणित में इस तरह लिखा जाता है:
n! = n × (n-1) × (n-2) × … × 1

उदाहरण के लिए:
5! = 5 × 4 × 3 × 2 × 1 = 120

Python में इसे इस प्रकार लिखा जा सकता है:-

# Factorial function using recursion
def factorial(n):
    if n == 0:  # Base case
        return 1
    else:
        return n * factorial(n-1)  # Recursive case

# Number for which factorial is to be calculated
number = 5
result = factorial(number)

print(f"{number}! = {result}")

Output:- 5! = 120

Recursion के प्रकार

इसके दो प्रकार होते हैं:-

1:- Direct Recursion: जब एक function खुद को direct call करता है तो उसे direct recursion कहते हैं।

Example:

def print_numbers(n):

    if n > 0:

        print(n)

        print_numbers(n-1)

2:- Indirect Recursion: जब एक function दूसरे function को call करता है, और वह दूसरा function पहले function को call करता है। तो इसे indirect recursion कहते है।

Example:

def func1(x):

    if x > 0:

        print(x)

        func2(x-1)

def func2(x):

    if x > 0:

        print(x)

        func1(x-1)

Recursion का दूसरा example:- Fibonacci Series

Fibonacci Series में हर number पिछले दो numbers का sum (योग) होता है। जैसे:
0,1,1,2,3,5,8,…

def fibonacci(n):
    if n <= 1:  # Base Case
        return n
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)  # Recursive Case

# Function को call करें

terms = 6
for i in range(terms):
    print(f"Fibonacci({i}):", fibonacci(i))

Output:

Fibonacci(0): 0  
Fibonacci(1): 1  
Fibonacci(2): 1  
Fibonacci(3): 2  
Fibonacci(4): 3  
Fibonacci(5): 5  

इसे पढ़ें:-

Leave a Comment