गैप बफ़र

From alpha
Jump to navigation Jump to search

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

गैप बफर में टेक्स्ट को दो स्ट्रिंग (संगणक विज्ञान) के रूप में दर्शाया जाता है, जो बहुत अल्प जगह लेता है और जिसे लिंक्ड सूचियों जैसे अधिक परिष्कृत डेटा संरचनाओं की तुलना में बहुत तीव्रता से अन्वेषण और प्रदर्शित किया जा सकता है। चूंकि, टेक्स्ट में विभिन्न स्थान पर संचालन और गैप को भरते हैं (एक नए गैप को बनाने की आवश्यकता होती है) इसलिए अधिकांश टेक्स्ट की प्रतिलिपि बनाने की आवश्यकता हो सकती है, जो विशेष रूप से बड़ी फ़ाइलों के लिए अक्षम है। गैप बफ़र्स का उपयोग इस धारणा पर आधारित है कि ऐसी पुनर्प्रतिलिपि इतनी अल्प होती है कि इसकी लागत को अधिक सामान्य सस्ते संचालन पर परिशोधन विश्लेषण किया जा सकता है। यह गैप बफ़र को टेक्स्ट संपादकों में उपयोग के लिए रस्सी का एक सरल विकल्प बनाता है।[1] जैसे Emacs.[2]


उदाहरण

बफ़र गैप के साथ संचालन के कुछ उदाहरण नीचे दिए गए हैं। गैप को वर्गाकार कोष्ठकों के मध्य रिक्त स्थान द्वारा दर्शाया जाता है। यह प्रतिनिधित्व थोड़ा भ्रामक है: एक विशिष्ट कार्यान्वयन में, गैप के अंतिम बिंदुओं को सूचक (संगणक प्रोग्रामिंग) या सरणी सूचकांकों का उपयोग करके ट्रैक किया जाता है, और गैप की सामग्री को उपेक्षित कर दिया जाता है; यह, उदाहरण के लिए, बफ़र में टेक्स्ट को बदले बिना सूचक को समायोजित करके विलोपन करने की अनुमति देता है। गैप पॉइंटर्स के लिए अर्ध विवृत गैप का उपयोग करना एक सामान्य प्रोग्रामिंग अभ्यास है, अर्थात पहले बफ़र में अंतिम वर्ण के बाद अमान्य वर्ण को प्रारंभ-ऑफ़-गैप बिंदु, और दूसरे बफ़र में पहले वैध वर्ण को अंत-गैप बिंदु (या समकक्ष, पॉइंटर्स को वर्णों के मध्य इंगित करने वाला माना जाता है)।

प्रारंभिक राज्य:

यह रास्ता है [ ]बाहर।

उपयोगकर्ता कुछ नया टेक्स्ट सम्मिलित करता है:

इस तरह से दुनिया का प्रारंभ हुआ [ ]।

उपयोगकर्ता प्रारंभ करने से पहले कर्सर ले जाता है; सिस्टम चालें पहले बफ़र से दूसरे बफ़र तक प्रारंभ हुईं।

इस तरह से दुनिया का प्रारंभ हुआ।

उपयोगकर्ता गैप को भरने वाला टेक्स्ट जोड़ता है; सिस्टम नया गैप बनाता है:

जैसा कि हम जानते हैं, दुनिया का प्रारंभ इसी तरह हुआ था।

यह भी देखें

  • डायनेमिक ऐरे, गैप बफर का विशेष स्थिति जहां गैप सदैव अंत में होता है
  • जिपर (डेटा संरचना), वैचारिक रूप से गैप बफर का एक सामान्यीकरण।
  • लिंक्ड सूची
  • गोलाकार बफ़र
  • रोप (संगणक विज्ञान)
  • रचना तालिका - ब्रावो और माइक्रोसॉफ्ट वर्ड द्वारा उपयोग की जाने वाली डेटा संरचना

संदर्भ

  1. Mark C. Chu-Carroll. "Gap Buffers, or, Don’t Get Tied Up With Ropes?" ScienceBlogs, 2009-02-18. Accessed 2013-01-30.
  2. emacs gap buffer info Accessed 2013-01-30.


बाहरी संबंध