ซิปคืออะไรและเกี่ยวข้องกับโครงสร้างเหมือนต้นไม้อย่างไร


15

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


3
นี่อาจจะเหมาะสมกว่าสำหรับวิทยาศาสตร์คอมพิวเตอร์แม้ว่างานซิปทั่วไปจะเกี่ยวข้องกับเครื่องจักรทางเทคนิคบ้าง
Dave Clarke

6
ซิปเป็นสิ่งที่คุณควรปิดไว้เสมอโดยเฉพาะอย่างยิ่งเมื่อข้ามต้นไม้
Andrej Bauer

คำตอบ:


14

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

Zippers สามารถนำไปใช้กับชนิดข้อมูลที่มีการเหนี่ยวนำโดยพลการ แนวคิดสามารถกำหนดในรูปแบบการจัดทำดัชนีประเภท (ดูชนิดข้อมูลที่จัดทำดัชนีประเภท ) พวกเขายังเกี่ยวข้องกับความคิดของอนุพันธ์ของโครงสร้างข้อมูลที่และได้รับการศึกษาจากหมวดหมู่ทฤษฎีมุมมอง


2

โดยทั่วไปแล้วซิปเป็นคู่ของสิ่งต่าง ๆ : มันเป็นโครงสร้าง -a- รูโฟกัสที่แสดงว่าคุณอยู่ที่ไหนในโครงสร้างพร้อมกับเส้นทางบันทึกว่าคุณจะไปถึงจุดนั้น (เส้นทางนี้เป็นเส้นทางของเกล็ดขนมปังของ LYAH)

เส้นทางคือวิธีที่คุณใช้การเปลี่ยนแปลงกับโครงสร้างจริง ๆ : "ลง, ไปทางซ้าย, เพิ่มมูลค่า" ด้วยการใช้ "go up" ซ้ำ ๆ ( go_upในบทความของ Huet ) ณ จุดนี้คุณสามารถย้อนขั้นตอนของคุณและจบลงด้วยการคัดลอกโครงสร้างเดิมใหม่

แน่นอนพวกเขาสามารถนำไปใช้กับโครงสร้างอื่น ๆ :

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.