Python में Recursion एक ऐसी तकनीक है जिसमें एक function खुद को call करता है। इसका उपयोग तब किया जाता है जब हम किसी problem को छोटे subproblems में divide करना चाहते हैं।
Recursion में function खुद को तब तक call करता है जब तक base condition पूरी नहीं हो जाती। Base condition वह condition होती है जो recursion को stop करती है।
Recursion का Structure
Recursion में दो मुख्य parts होते हैं:
- Base case – यह वह condition है जो recursion को रोकने का काम करती है।
- 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
इसे पढ़ें:-