อัปเดตล่าสุด Feb. 2, 2024
การเรียกใช้ฟังก์ชัน (Recursion) หรือที่เราเรียกว่า Recursive Function คือ การที่ฟังก์ชันใดฟังก์ชันหนึ่งสามารถเรียกใช้ฟังก์ชันอื่น ๆ ภายในตัวมันเอง โครงสร้างประเภทนี้เรียกว่าฟังก์ชัน Recursion
ตัวอย่าง 1: ฟังก์ชัน Recursive แบบง่าย
การเรียกใช้ฟังก์ชัน recursive จะสิ้นสุดเมื่อตัวเลขลดลงมาเป็น 1 นี่คือเงื่อนไขพื้นฐาน (base condition) ทุกฟังก์ชัน recursive ต้องมีเงื่อนไขพื้นฐานที่หยุดการเรียกใช้ซ้ำ ไม่เช่นนั้นฟังก์ชันจะเรียกตัวเองอย่างไม่มีที่สิ้นสุด
def factorial(x):"""ฟังก์ชัน recursive นี้ใช้สำหรับหาค่า factorial ของจำนวนเต็ม"""if x == 1:return 1else:return(x * factorial(x-1))num = 3 # 3 * 2 * 1print("ค่า factorial ของ", num, "คือ", factorial(num))
อธิบายโค้ด func
factorial(x)
เพื่อคำนวณหาค่า factorial ของตัวเลข x
3 * 2 * 1
เป็นต้น1
เนื่องจาก factorial ของ 1 คือ 1x
ไม่เท่ากับ 1
ฟังก์ชันจะคืนค่า x
คูณกับค่าของ factorial(x-1) และนี่คือขั้นตอนการเรียกใช้ฟังก์ชัน recursive ที่ทำให้ x ลดลงทีละหนึ่งจนกว่าจะถึง 1 x
กับ factorial ของ x - 1 ซึ่งเป็นวิธีการคำนวณค่า factorial แบบดั้งเดิมเมื่อเราเรียกใช้ฟังก์ชัน factorial(x)
ด้วยค่า num = 3 ฟังก์ชันจะทำการคำนวณ factorial ของ 3 ซึ่งเป็น 3 * 2 * 1 และคืนค่า 6 กลับมา ซึ่งเป็นผลรวมนั่นเอง
การใช้งานฟังก์ชัน recursive ในตัวอย่างนี้แสดงให้เห็นถึงวิธีการแก้ไขปัญหาที่สามารถแบ่งย่อยลงไปเป็นปัญหาย่อย ๆ ที่ง่ายกว่า และเป็นหนึ่งในตัวอย่างพื้นฐานที่นิยมใช้เพื่อสาธิตการทำงานของฟังก์ชัน recursive ในการเขียนโปรแกรม