recursion คืออะไร? การทวนซ้ำในการเขียนโปรแกรม (ตัวอย่าง)
การท่องจำเป็นเหตุการณ์ที่น่าสนใจด้วยตัวเองตัวเอง แต่ในการเขียนโปรแกรมพวกเขามีความสำคัญโดยเฉพาะในแต่ละกรณี เป็นครั้งแรกที่พบกับพวกเขาค่อนข้างมากจำนวนคนที่มีปัญหากับความเข้าใจของพวกเขา นี่เป็นเพราะเขตข้อมูลขนาดใหญ่ของการประยุกต์ใช้ที่อาจเกิดขึ้นของคำตัวเองขึ้นอยู่กับบริบทที่ใช้ "recursion" แต่หวังว่าบทความนี้จะช่วยหลีกเลี่ยงความเข้าใจผิดหรือความเข้าใจผิดที่เป็นไปได้
"การทับทิม" โดยทั่วไปคืออะไร?
คุณหมายถึงอะไรโดย recursion ในการเขียนโปรแกรม?
การทับทิมสามารถ จำกัด หรือไม่มีที่สิ้นสุด เพื่อให้อดีตที่จะหยุดการเรียกตัวเองต้องมีเงื่อนไขสำหรับการยกเลิก ค่านี้จะลดลงและเมื่อถึงค่าที่กำหนดให้เรียกการหยุดชะงักและการสิ้นสุดของโปรแกรม / การเปลี่ยนไปใช้รหัสถัดไปขึ้นอยู่กับความต้องการเพื่อให้บรรลุเป้าหมายบางอย่าง โดยการเรียกซ้ำแบบไม่ จำกัด หมายความว่าจะมีการเรียกใช้ในขณะที่คอมพิวเตอร์หรือโปรแกรมที่กำลังทำงานกำลังทำงานอยู่
นอกจากนี้ยังสามารถจัดระเบียบการเรียกซ้ำซ้อนด้วยใช้สองฟังก์ชัน สมมุติว่ามี A และ B. ฟังก์ชันมีการเรียกในโค้ด B และ B ก็จะบอกให้คอมพิวเตอร์ทำ A recourse Complex เป็นทางออกจากสถานการณ์ตรรกะที่ซับซ้อนสำหรับตรรกะของคอมพิวเตอร์
ถ้าผู้อ่านกำลังอ่านโปรแกรมเขาอาจสังเกตเห็นความคล้ายคลึงกันระหว่างพวกเขาและการทวนซ้ำ โดยทั่วไปแล้วพวกเขาสามารถทำงานได้เหมือนกันหรือเหมือนกัน ด้วยความช่วยเหลือของการทับทิมทำให้สะดวกในการเลียนแบบการทำงานของวงจร นี้เป็นประโยชน์อย่างยิ่งที่รอบตัวเองจะไม่สะดวกมาก รูปแบบของการใช้ซอฟต์แวร์ไม่แตกต่างกันมากนักจากภาษาโปรแกรมระดับสูงอื่น ๆ แต่ยังคง recursion ใน "Pascal" และ recursion ใน C หรือภาษาอื่นมีลักษณะเฉพาะของตนเอง สามารถใช้งานได้ดีในภาษาระดับต่ำเช่น Assembler แต่นี่เป็นปัญหาและใช้เวลามาก
ต้นไม้ของการทับทิม
- มีโหนดพิเศษเริ่มต้นซึ่งเรียกว่ารากของต้นทั้งต้น
- โหนดที่เหลืออยู่ในปริมาณที่แตกต่างจากศูนย์เซตย่อยคู่ที่คลาดเคลื่อนและเป็นโหนดเดียวกันด้วย ทุกรูปแบบดังกล่าวขององค์กรเรียกว่า subtrees ของต้นไม้หลัก
ในคำอื่น ๆ : ต้นไม้มี subtrees ที่ประกอบด้วยต้นไม้ แต่มีขนาดเล็กกว่าต้นไม้ก่อนหน้านี้ การดำเนินการนี้จะดำเนินต่อไปจนกว่าโหนดหนึ่งจะมีโอกาสก้าวไปข้างหน้าและนี่จะบ่งบอกถึงจุดสิ้นสุดของการทวนซ้ำ มีความแตกต่างกันนิดหน่อยเกี่ยวกับภาพวงจร: ต้นไม้สามัญเติบโตจากด้านล่างขึ้นและในการเขียนโปรแกรมพวกเขาจะถอยหลัง โหนดที่ไม่มีส่วนขยายเรียกว่าโหนดท้าย เพื่อความสะดวกในการกำหนดและเพื่อความสะดวกคำศัพท์วงศ์วาน (บรรพบุรุษ, เด็ก) จะใช้
เหตุใดจึงใช้ในการเขียนโปรแกรม?
ความแตกต่างของการเรียกซ้ำในภาษาโปรแกรมต่างๆ
แม้จะมีรูปแบบการดำเนินงานโดยรวมและเฉพาะเจาะจงโปรแกรมประยุกต์ในแต่ละกรณี recursion ในการเขียนโปรแกรมมีลักษณะของตนเอง ซึ่งอาจทำให้เกิดปัญหาขณะค้นหาเนื้อหาที่ต้องการ แต่เราควรจำไว้เสมอว่าถ้าภาษาโปรแกรมเรียกใช้ฟังก์ชันหรือขั้นตอนการเรียกซ้ำก็เป็นสิ่งที่ทำได้ แต่ความแตกต่างที่สำคัญที่สุดจะปรากฏเมื่อใช้ภาษาโปรแกรมต่ำและสูง โดยเฉพาะอย่างยิ่งความกังวลเกี่ยวกับความเป็นไปได้ในการใช้ซอฟต์แวร์ การดำเนินการในท้ายที่สุดขึ้นอยู่กับสิ่งที่งานถูกตั้งค่าตามที่มัน recursion ถูกเขียนขึ้น ฟังก์ชั่นและขั้นตอนต่าง ๆ ถูกใช้แตกต่างกันออกไป แต่เป้าหมายของพวกเขาเหมือนกันเสมอไปเพื่อบังคับให้ตัวเองเรียกตัวเอง