ฉันกำลังอ่านบทหนึ่งในLYAHซึ่งไม่สมเหตุสมผลกับฉันจริงๆ ฉันเข้าใจว่ารูดซิปสามารถเข้าไปสำรวจโครงสร้างคล้ายต้นไม้ได้โดยพลการ แต่ฉันต้องการความกระจ่างเกี่ยวกับมัน นอกจากนี้ซิปยังสามารถวางนัยกับโครงสร้างข้อมูลใด ๆ ได้หรือไม่
ฉันกำลังอ่านบทหนึ่งในLYAHซึ่งไม่สมเหตุสมผลกับฉันจริงๆ ฉันเข้าใจว่ารูดซิปสามารถเข้าไปสำรวจโครงสร้างคล้ายต้นไม้ได้โดยพลการ แต่ฉันต้องการความกระจ่างเกี่ยวกับมัน นอกจากนี้ซิปยังสามารถวางนัยกับโครงสร้างข้อมูลใด ๆ ได้หรือไม่
คำตอบ:
โดยทั่วไปแล้วซิปเป็นโครงสร้างข้อมูลที่มีรูอยู่ Zippers ใช้สำหรับการสำรวจ / จัดการโครงสร้างข้อมูลและหลุมสอดคล้องกับโฟกัสปัจจุบันของการสำรวจเส้นทาง โดยทั่วไปแล้วยังมีองค์ประกอบของโครงสร้างข้อมูลภายใต้การพิจารณาเพื่อให้มีซิป (รายการ) และรายการหรือซิป (ต้นไม้) และต้นไม้ ซิปช่วยให้โปรแกรมเมอร์สามารถเคลื่อนที่ไปรอบ ๆ โครงสร้างข้อมูลได้อย่างมีประสิทธิภาพแม้กระทั่งการเปลี่ยนองค์ประกอบที่อยู่ในโฟกัส ซิปคู่และองค์ประกอบในการโฟกัสตอบสนองข้อ จำกัด ที่การวางองค์ประกอบที่โฟกัสในรูทำให้โครงสร้างข้อมูลต้นฉบับ
Zippers สามารถนำไปใช้กับชนิดข้อมูลที่มีการเหนี่ยวนำโดยพลการ แนวคิดสามารถกำหนดในรูปแบบการจัดทำดัชนีประเภท (ดูชนิดข้อมูลที่จัดทำดัชนีประเภท ) พวกเขายังเกี่ยวข้องกับความคิดของอนุพันธ์ของโครงสร้างข้อมูลที่และได้รับการศึกษาจากหมวดหมู่ทฤษฎีมุมมอง
โดยทั่วไปแล้วซิปเป็นคู่ของสิ่งต่าง ๆ : มันเป็นโครงสร้าง -a- รูโฟกัสที่แสดงว่าคุณอยู่ที่ไหนในโครงสร้างพร้อมกับเส้นทางบันทึกว่าคุณจะไปถึงจุดนั้น (เส้นทางนี้เป็นเส้นทางของเกล็ดขนมปังของ LYAH)
เส้นทางคือวิธีที่คุณใช้การเปลี่ยนแปลงกับโครงสร้างจริง ๆ : "ลง, ไปทางซ้าย, เพิ่มมูลค่า" ด้วยการใช้ "go up" ซ้ำ ๆ ( go_up
ในบทความของ Huet ) ณ จุดนี้คุณสามารถย้อนขั้นตอนของคุณและจบลงด้วยการคัดลอกโครงสร้างเดิมใหม่
แน่นอนพวกเขาสามารถนำไปใช้กับโครงสร้างอื่น ๆ :