/ / Recursion คืออะไร? การทวนซ้ำในการเขียนโปรแกรม (ตัวอย่าง)

recursion คืออะไร? การทวนซ้ำในการเขียนโปรแกรม (ตัวอย่าง)

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

"การทับทิม" โดยทั่วไปคืออะไร?

recursion คือ
คำว่า "recursion" มีทั้งความหมาย,ซึ่งขึ้นอยู่กับพื้นที่ที่ใช้ สัญกรณ์สากลคือ: การท่องหมายคือนิยามภาพคำอธิบายของวัตถุหรือกระบวนการในวัตถุด้วยตัวเอง พวกเขาเป็นไปได้เฉพาะในกรณีเหล่านี้เมื่อวัตถุเป็นส่วนหนึ่งของตัวเอง ในทางของตัวเองคณิตศาสตร์ฟิสิกส์การเขียนโปรแกรมและระเบียบวินัยทางวิทยาศาสตร์อื่น ๆ กำหนดการเรียกซ้ำ การประยุกต์ใช้ในทางปฏิบัติเธอพบในการทำงานของระบบสารสนเทศและการทดลองทางกายภาพ

คุณหมายถึงอะไรโดย recursion ในการเขียนโปรแกรม?

การทับทิมใน Pascal
สถานการณ์ซ้ำหรือการทับซ้ำในการเขียนโปรแกรมเรียกว่าช่วงเวลาเมื่อขั้นตอนหรือฟังก์ชันของโปรแกรมเรียกตัวเอง แปลกประหลาดเหมือนกับที่อาจดูเหมือนกับผู้ที่เริ่มเรียนรู้การเขียนโปรแกรม แต่ก็ไม่ฟังดูแปลก ๆ จำได้ว่าการทับทิมไม่ใช่เรื่องยากและในบางกรณีก็จะแทนที่วงจร หากคอมพิวเตอร์กำหนดขั้นตอนหรือการเรียกฟังก์ชันอย่างถูกต้องก็เพียงแค่เริ่มดำเนินการเท่านั้น

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

นอกจากนี้ยังสามารถจัดระเบียบการเรียกซ้ำซ้อนด้วยใช้สองฟังก์ชัน สมมุติว่ามี A และ B. ฟังก์ชันมีการเรียกในโค้ด B และ B ก็จะบอกให้คอมพิวเตอร์ทำ A recourse Complex เป็นทางออกจากสถานการณ์ตรรกะที่ซับซ้อนสำหรับตรรกะของคอมพิวเตอร์

ถ้าผู้อ่านกำลังอ่านโปรแกรมเขาอาจสังเกตเห็นความคล้ายคลึงกันระหว่างพวกเขาและการทวนซ้ำ โดยทั่วไปแล้วพวกเขาสามารถทำงานได้เหมือนกันหรือเหมือนกัน ด้วยความช่วยเหลือของการทับทิมทำให้สะดวกในการเลียนแบบการทำงานของวงจร นี้เป็นประโยชน์อย่างยิ่งที่รอบตัวเองจะไม่สะดวกมาก รูปแบบของการใช้ซอฟต์แวร์ไม่แตกต่างกันมากนักจากภาษาโปรแกรมระดับสูงอื่น ๆ แต่ยังคง recursion ใน "Pascal" และ recursion ใน C หรือภาษาอื่นมีลักษณะเฉพาะของตนเอง สามารถใช้งานได้ดีในภาษาระดับต่ำเช่น Assembler แต่นี่เป็นปัญหาและใช้เวลามาก

ต้นไม้ของการทับทิม

recursion ในการเขียนโปรแกรม
อะไรคือ "ต้นไม้" ในการเขียนโปรแกรม? นี่คือชุด จำกัด ประกอบด้วยอย่างน้อยหนึ่งโหนดที่:

  1. มีโหนดพิเศษเริ่มต้นซึ่งเรียกว่ารากของต้นทั้งต้น
  2. โหนดที่เหลืออยู่ในปริมาณที่แตกต่างจากศูนย์เซตย่อยคู่ที่คลาดเคลื่อนและเป็นโหนดเดียวกันด้วย ทุกรูปแบบดังกล่าวขององค์กรเรียกว่า subtrees ของต้นไม้หลัก

ในคำอื่น ๆ : ต้นไม้มี subtrees ที่ประกอบด้วยต้นไม้ แต่มีขนาดเล็กกว่าต้นไม้ก่อนหน้านี้ การดำเนินการนี้จะดำเนินต่อไปจนกว่าโหนดหนึ่งจะมีโอกาสก้าวไปข้างหน้าและนี่จะบ่งบอกถึงจุดสิ้นสุดของการทวนซ้ำ มีความแตกต่างกันนิดหน่อยเกี่ยวกับภาพวงจร: ต้นไม้สามัญเติบโตจากด้านล่างขึ้นและในการเขียนโปรแกรมพวกเขาจะถอยหลัง โหนดที่ไม่มีส่วนขยายเรียกว่าโหนดท้าย เพื่อความสะดวกในการกำหนดและเพื่อความสะดวกคำศัพท์วงศ์วาน (บรรพบุรุษ, เด็ก) จะใช้

เหตุใดจึงใช้ในการเขียนโปรแกรม?

ฟังก์ชันการเรียกซ้ำ
พบการใช้ recursion ในการเขียนโปรแกรมแล้วในการแก้ปัญหาที่ซับซ้อนจำนวนมาก ถ้าคุณต้องการโทรเพียงครั้งเดียวคุณจึงสามารถใช้วงจรการรวมระบบได้ง่ายขึ้น แต่มีการทำซ้ำสองครั้งหรือมากกว่าเพื่อหลีกเลี่ยงการสร้างห่วงโซ่และทำให้พวกเขาดำเนินการเป็นต้นไม้และใช้สถานการณ์เชิงประจักษ์ สำหรับปัญหาระดับกว้างการจัดระเบียบกระบวนการคำนวณในลักษณะนี้เป็นวิธีที่เหมาะสมที่สุดจากมุมมองของการใช้ทรัพยากร ดังนั้นการเรียกซ้ำในภาษา Pascal หรือภาษาการเขียนโปรแกรมระดับสูงอื่น ๆ จึงเป็นการเรียกฟังก์ชันหรือขั้นตอนก่อนที่จะมีการปฏิบัติตามเงื่อนไขโดยไม่คำนึงถึงจำนวนสายภายนอก กล่าวได้ว่าสามารถเข้าถึงโปรแกรมย่อยได้เพียงครั้งเดียวในโปรแกรม แต่จะเกิดขึ้นได้จนกว่าจะถึงช่วงเวลาหนึ่งล่วงหน้า ในทางนี้เป็นอนาล็อกของวงจรที่มีการใช้เฉพาะของตัวเอง

ความแตกต่างของการเรียกซ้ำในภาษาโปรแกรมต่างๆ

แม้จะมีรูปแบบการดำเนินงานโดยรวมและเฉพาะเจาะจงโปรแกรมประยุกต์ในแต่ละกรณี recursion ในการเขียนโปรแกรมมีลักษณะของตนเอง ซึ่งอาจทำให้เกิดปัญหาขณะค้นหาเนื้อหาที่ต้องการ แต่เราควรจำไว้เสมอว่าถ้าภาษาโปรแกรมเรียกใช้ฟังก์ชันหรือขั้นตอนการเรียกซ้ำก็เป็นสิ่งที่ทำได้ แต่ความแตกต่างที่สำคัญที่สุดจะปรากฏเมื่อใช้ภาษาโปรแกรมต่ำและสูง โดยเฉพาะอย่างยิ่งความกังวลเกี่ยวกับความเป็นไปได้ในการใช้ซอฟต์แวร์ การดำเนินการในท้ายที่สุดขึ้นอยู่กับสิ่งที่งานถูกตั้งค่าตามที่มัน recursion ถูกเขียนขึ้น ฟังก์ชั่นและขั้นตอนต่าง ๆ ถูกใช้แตกต่างกันออกไป แต่เป้าหมายของพวกเขาเหมือนกันเสมอไปเพื่อบังคับให้ตัวเองเรียกตัวเอง

recursion เป็นเรื่องง่าย จะจดจำเนื้อหาของบทความได้อย่างไร?

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

อ่านเพิ่มเติม: