जिपर क्या है, और यह पेड़ जैसी संरचना से कैसे संबंधित है?


15

मैं LYAH में एक अध्याय पढ़ रहा था जो वास्तव में मेरे लिए मायने नहीं रखता था। मैं समझता हूं कि ज़िपर मनमाने ढंग से पेड़ जैसी संरचना बना सकते हैं, लेकिन मुझे इस पर कुछ स्पष्टीकरण चाहिए। इसके अलावा, क्या zippers को किसी भी डेटा संरचना में सामान्यीकृत किया जा सकता है?


3
यह शायद कंप्यूटर विज्ञान के लिए अधिक उपयुक्त है , हालांकि काम के सामान्यीकरण वाले जिपर में काफी कुछ तकनीकी मशीनरी शामिल हैं।
डेव क्लार्क

6
एक जिपर एक ऐसी चीज है जिसे आपको हमेशा बंद रखना चाहिए, खासकर जब एक पेड़ को काटते हुए।
प्रेमिका बाउर

जवाबों:


14

एक जिपर, सामान्य रूप से, इसमें छेद वाला एक डेटा संरचना है। Zippers का उपयोग डेटा संरचनाओं को ट्रैवर्सिंग / हेरफेर करने के लिए किया जाता है, और छेद ट्रैवर्सल के वर्तमान फोकस से मेल खाती है । आम तौर पर विचाराधीन डेटा संरचना का एक तत्व भी होता है, ताकि किसी की सूची (जिपर) और एक सूची या (पेड़) जिपर और एक पेड़ हो। जिपर प्रोग्रामर को कुशलतापूर्वक डेटा संरचना के चारों ओर ले जाने की अनुमति देता है, यहां तक ​​कि फोकस पर तत्व की जगह भी। जिपर और फोकस में तत्व की जोड़ी बाधा को संतुष्ट करती है कि तत्व को छेद में फोकस पर रखने से मूल डेटा संरचना मिलती है।

जिपर को मनमाने ढंग से प्रेरक डेटा प्रकारों के लिए सामान्यीकृत किया जा सकता है। अवधारणा को प्रकार-अनुक्रमित फैशन में परिभाषित किया जा सकता है (देखें प्रकार-अनुक्रमित डेटा प्रकार )। वे एक डेटा संरचना के व्युत्पन्न के विचार से भी संबंधित हैं , और एक श्रेणी सिद्धांतिक दृष्टिकोण से अध्ययन किया गया है


2

एक जिपर सामान्य रूप से चीजों की एक जोड़ी है: यह एक संरचना-एक-छेद है, एक फ़ोकस , जिसमें आप जिस संरचना में हैं, उसका प्रतिनिधित्व करते हुए, एक पथ के साथ मिलकर , रिकॉर्डिंग करें कि आपको उस फ़ोकस के लिए कैसे मिला। (यह रास्ता LYAH ब्रेडक्रंब का मार्ग है।)

पथ यह है कि आप वास्तव में संरचना में परिवर्तन कैसे लागू करते हैं: "नीचे जाओ, बाएं जाओ, मूल्य बढ़ाओ"। बार-बार आवेदन करने ( "ऊपर जाना" तक go_upमें Huet पेपर इस बिंदु पर), आप अपने चरणों वापस और एक नया, उत्परिवर्तित, मूल संरचना की प्रति के साथ खत्म हो सकता है।

वे वास्तव में अन्य संरचनाओं के लिए सामान्यीकृत हो सकते हैं:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.