Expand description
Rekursiya — funksiyaning o’zini o’zi chaqirishi.
§Har bir rekursiv funksiyada 2 qism bo’lishi shart
- Baza holati (base case) — rekursiya to’xtaydigan joy. Bo’lmasa → stack overflow;
- Rekursiv qadam — masalani kichikroq ko’rinishga keltirish.
faktorial(4)
→ 4 × faktorial(3)
→ 3 × faktorial(2)
→ 2 × faktorial(1)
→ 1 × faktorial(0)
→ 1 ← baza
= 4 × 3 × 2 × 1 × 1 = 24§Rekursiya narxi
Har bir chaqiruv stack da joy egallaydi. Rustda odatiy stack 8 MB — taxminan bir necha yuz ming chaqiruvga yetadi. Chuqurlik katta bo’lsa, iterativ variantga o’ting (Rust hozircha tail call optimization qilmaydi).
Functions§
- ackermann
- Ackermann funksiyasi — rekursiyaning “chegarasi”.
- binary_
search_ rec - Ikkilik qidiruvning rekursiv ko’rinishi (
start..endoralig’ida). - factorial
- Faktorial:
n! = n × (n-1) × … × 1,0! = 1. - fib_
naive - Sodda rekursiv Fibonachchi — qanday qilmaslik kerakligining namunasi.
- hanoi
- Hanoy minoralari:
nta disknifromustunidantoustuniga ko’chirish qadamlari. - reverse_
string - Satrni rekursiv teskari o’girish (o’quv maqsadida).