Recursion คือเมื่อฟังก์ชันเรียกตัวเองเพื่อแก้ปัญหาเวอร์ชันที่เล็กกว่าของปัญหาเดียวกัน ทุก recursion ต้องมี base case ที่หยุดมันและ recursive case ที่เคลื่อนไปยัง base
แนวคิด
แบ่งปัญหาออกเป็นปัญหาย่อยที่เหมือนกัน ทุกครั้งที่เรียกจะผลัก frame ลง call stack; การคืนค่า pop ออก
ตัวอย่าง
python
():
n <= :
n * factorial(n - )
factorial()
