Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การเรียกซ้ำและการย้อนรอยใน Python คืออะไร?


การเรียกซ้ำ

การเรียกซ้ำมีประโยชน์ในการแบ่งและแก้ปัญหา การเรียกซ้ำแต่ละครั้งจะแยกการโทรแบบเรียกซ้ำอื่นๆ ที่ศูนย์กลางของฟังก์ชันแบบเรียกซ้ำคือกรณีสองประเภท:กรณีพื้นฐาน ซึ่งบอกการเรียกซ้ำเมื่อจะยุติ และกรณีแบบเรียกซ้ำที่เรียกใช้ฟังก์ชันที่พวกเขาอยู่ ปัญหาง่าย ๆ ที่ใช้วิธีแก้ปัญหาแบบเรียกซ้ำคือการคำนวณแฟกทอเรียล อัลกอริธึมแบบเรียกซ้ำแฟกทอเรียลมีสองกรณี:กรณีฐานเมื่อ n =0 และกรณีแบบเรียกซ้ำเมื่อ n>0

ย้อนรอย

การย้อนรอยเป็นอัลกอริทึมทั่วไปสำหรับการค้นหาวิธีแก้ไขปัญหาทางคอมพิวเตอร์ ซึ่งจะสร้างทางเลือกในการแก้ปัญหาแบบค่อยเป็นค่อยไป และปฏิเสธการประมวลผลแทร็กต่อไปที่อาจนำไปสู่วิธีแก้ปัญหาที่เป็นไปไม่ได้ การย้อนรอยช่วยให้เรายกเลิกตัวเลือกก่อนหน้าได้หากพบว่ามีข้อผิดพลาด

การใช้งานแฟคทอเรียลโดยทั่วไปมีดังต่อไปนี้ -

ตัวอย่าง

def factorial(n):
  #test for a base case
     if n==0:
       return 1
         # make a calculation and a recursive call
         f= n*factorial(n-1)
     print(f)
  return(f)
factorial(4)

รหัสนี้พิมพ์ตัวเลข 1, 2, 4, 24 ในการคำนวณแฟคทอเรียล 4 ต้องใช้การเรียกซ้ำสี่ครั้งบวกกับการเรียกหลักเริ่มต้น