TGViewer
Programming Resources | Python | Javascript | Artificial Intelligence Updates | Computer Science Courses | AI Books Programming Resources | Python | Javascript | Artificial Intelligence Updates | Computer Science Courses | AI Books @programming_guide ยท 56K subscribers
Post #3462 2.31K
โœ… DSA Part 2 โ€“ Recursion ๐Ÿ”๐Ÿง 

Recursion is when a function calls itself to solve smaller subproblems. It's powerful but needs a base case to avoid infinite loops.

1๏ธโƒฃ What is Recursion?
A recursive function solves a part of the problem and calls itself on the remaining part.

Basic Python Example:
def countdown(n):
if n == 0:
print("Done!")
return
print(n)
countdown(n - 1)

โ–ถ๏ธ Counts down from n to 0

2๏ธโƒฃ Key Parts of Recursion:
โ€ข Base case โ€“ Stops recursion
โ€ข Recursive case โ€“ Function calls itself

Java Example โ€“ Factorial:
int factorial(int n) {
if (n == 0) return 1;
return n * factorial(n - 1);
}

C++ Example โ€“ Sum of Array:
int sum(int arr[], int n) {
if (n == 0) return 0;
return arr[n - 1] + sum(arr, n - 1);
}

3๏ธโƒฃ Why Use Recursion?
โ€ข Breaks complex problems into simpler ones
โ€ข Great for trees, graphs, backtracking, divide conquer

4๏ธโƒฃ When Not to Use It?
โ€ข Large inputs can cause stack overflow
โ€ข Use loops if recursion is too deep or inefficient

5๏ธโƒฃ Practice Task:
โœ… Write a recursive function to calculate power (a^b)
โœ… Write a function to reverse a string recursively
โœ… Try basic Fibonacci using recursion

๐Ÿ‘‡ Solution for Practice Task

โœ… 1. Recursive Power Function (a^b)

Python:
def power(a, b):
if b == 0:
return 1
return a * power(a, b - 1)

print(power(2, 3)) # Output: 8

C++:
int power(int a, int b) {
if (b == 0) return 1;
return a * power(a, b - 1);
}
// Example: cout << power(2, 3); // Output: 8

Java:
int power(int a, int b) {
if (b == 0) return 1;
return a * power(a, b - 1);
}
// Example: System.out.println(power(2, 3)); // Output: 8

โœ… 2. Reverse String Recursively

Python:
def reverse(s):
if len(s) == 0:
return ""
return reverse(s[1:]) + s[0]

print(reverse("hello")) # Output: "olleh"

C++:
string reverse(string s) {
if (s.length() == 0) return "";
return reverse(s.substr(1)) + s[0];
}
// Example: cout << reverse("hello"); // Output: "olleh"

Java:
String reverse(String s) {
if (s.isEmpty()) return "";
return reverse(s.substring(1)) + s.charAt(0);
}
// Example: System.out.println(reverse("hello")); // Output: "olleh"

โœ… 3. Fibonacci Using Recursion

Python:
def fib(n):
if n <= 1:
return n
return fib(n - 1) + fib(n - 2)

print(fib(6)) # Output: 8

C++:
int fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
// Example: cout << fib(6); // Output: 8

Java:
int fib(int n) {
if (n <= 1) return n;
return fib(n - 1) + fib(n - 2);
}
// Example: System.out.println(fib(6)); // Output: 8

*Double Tap โ™ฅ๏ธ For More*
  • โค 9
  • ๐Ÿ‘ 1
More from @programming_guide
  1. Oct 9, 2026๐Ÿ‡ฎ๐Ÿ‡ณ ๐—š๐—ข๐—ฉ๐—˜๐—ฅ๐—ก๐— ๐—˜๐—ก๐—ง ๐—ข๐—™ ๐—œ๐—ก๐——๐—œ๐—” โ€” ๐—”๐—œ๐—–๐—ง๐—˜ ๐—œ๐—ก๐—ง๐—˜๐—ฅ๐—ก๐—ฆ๐—›๐—œ๐—ฃ๐—ฆ ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฒ ๐Ÿš€โ€ฆ
  2. Oct 8, 2026๐ŸŽ“ ๐— ๐—ถ๐—ฐ๐—ฟ๐—ผ๐˜€๐—ผ๐—ณ๐˜ ๐—™๐—ฅ๐—˜๐—˜ ๐—–๐—ผ๐˜‚๐—ฟ๐˜€๐—ฒ๐˜€ ๐˜„๐—ถ๐˜๐—ต ๐—–๐—ฒ๐—ฟ๐˜๐—ถ๐—ณ๐—ถ๐—ฐ๐—ฎ๐˜๐—ฒ๐˜€! ๐Ÿš€๐Ÿ”ฅ Upgrโ€ฆ
  3. Oct 7, 2026๐Ÿš€๐—ฃ๐—ฎ๐˜† ๐—”๐—ณ๐˜๐—ฒ๐—ฟ ๐—ฃ๐—น๐—ฎ๐—ฐ๐—ฒ๐—บ๐—ฒ๐—ป๐˜ ๐—ง๐—ฟ๐—ฎ๐—ถ๐—ป๐—ถ๐—ป๐—ด | ๐—•๐—ฒ๐—ฐ๐—ผ๐—บ๐—ฒ ๐—ฎ ๐—™๐˜‚๐—น๐—น๐˜€๐˜๐—ฎ๐—ฐโ€ฆ
  4. Oct 7, 2026๐— ๐—ฎ๐˜€๐˜๐—ฒ๐—ฟ ๐—ฃ๐—ผ๐˜„๐—ฒ๐—ฟ ๐—•๐—œ ๐—ณ๐—ผ๐—ฟ ๐—™๐—ฅ๐—˜๐—˜! ๐Ÿ”ฅ Learn Power BI through these FREE learninโ€ฆ
  5. Sep 29, 2026๐Ÿง  Core Programming Concepts You Should Know ๐Ÿ’ป๐Ÿš€ These are the fundamental ideas behind aโ€ฆ
  6. Sep 29, 2026๐—™๐—ฅ๐—˜๐—˜ ๐—ฅ๐—ฒ๐˜€๐—ผ๐˜‚๐—ฟ๐—ฐ๐—ฒ๐˜€ ๐—ง๐—ผ ๐—Ÿ๐—ฒ๐—ฎ๐—ฟ๐—ป ๐—”๐—œ ๐—ถ๐—ป ๐Ÿฎ๐Ÿฌ๐Ÿฎ๐Ÿฒ๐Ÿš€ โ€‹ Explore 6 free resourceโ€ฆ
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook โ†’Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 โ†’