การเรียกซ้ำคืออะไร? ความหมายและความหมาย

click fraud protection

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

หลักการเรียกซ้ำแสดงโดยตัวเลขฟีโบนักชี ซึ่งเป็นชุดตัวเลขที่มีสองเทอมแรกคือ 1 เงื่อนไขที่ต่อเนื่องกันจะได้รับโดยการรวมคำศัพท์ก่อนหน้าสองคำ (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 เป็นต้น) ตัวเลขฟีโบนักชีสามารถสร้างได้จากสมการต่อไปนี้ ตราบใดที่ n มากกว่า 2: ฟีโบนักชี («) = ฟีโบนักชี (« – 1) + ฟีโบนักชี (n – 2)

Technipages อธิบายการเรียกซ้ำ

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

เป็นตัวอย่างที่ดีที่สุดสำหรับตุ๊กตา Russian Matryoshka ซึ่งเป็นชุดของตุ๊กตาที่ห่อหุ้มด้วยตุ๊กตาที่ใหญ่กว่า ตุ๊กตาทุกชิ้นเป็นแบบจำลองโดยตรงของตุ๊กตารุ่นต่อจากนี้หรือรุ่นก่อนหน้า ยกเว้นชิ้นที่เล็กกว่า ดังนั้นตุ๊กตาทุกตัวจึงเป็นรุ่นเล็กหรือมีความสำคัญมากกว่ากัน การเขียนโปรแกรมแบบเรียกซ้ำใช้หลักการนี้ซึ่งปัญหาได้รับการแก้ไขโดยแบ่งออกเป็นปัญหาย่อยๆ

การเรียกซ้ำสามารถสืบย้อนไปถึงปี 1958 John McCarthy เป็นคนแรกที่ใช้หลักการ Recursion ในการเขียนโปรแกรม และสิ่งนี้สามารถพบได้ในผลงานของเขาใน LISP LISP เป็นภาษาการเขียนโปรแกรมภาษาแรกที่นำเสนอฟังก์ชันแบบเรียกซ้ำตามที่เรามีในปัจจุบัน งานของ McCarthy ได้รับแรงบันดาลใจจากผลงานของ Alonzo Church ซึ่งเมื่อสองทศวรรษก่อน การกล่าวถึงเรื่องเด่นที่เกี่ยวข้องกับการเรียกซ้ำยังสามารถย้อนไปถึงงานของ Dedekind เกี่ยวกับตัวเลขธรรมชาติในปี 1888 Rozsa Peter นำเสนอเกี่ยวกับฟังก์ชันแบบเรียกซ้ำในปี 1932 ที่ International Congress of Mathematicians ในซูริกในปี 1932

การใช้การเรียกซ้ำทั่วไป

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

การเรียกซ้ำในทางที่ผิดที่พบบ่อย

  • การเรียกซ้ำ ไม่จัดการปัญหาแม้ว่าปัญหาจะแตกออกเป็นการจัดการในระดับที่เล็กกว่า
  • การเรียกซ้ำ ทำให้ปัญหาง่ายขึ้นเท่านั้นและไม่ได้ตอบ