Piece table
कम्प्यूटिंग में, एक पीस टेबल एक डेटा संरचना है जिसका उपयोग आमतौर पर एक पाठ दस्तावेज़ का प्रतिनिधित्व करने के लिए किया जाता है जबकि इसे एक पाठ संपादक में संपादित किया जाता है। प्रारंभ में पूरी मूल फ़ाइल के लिए एक संदर्भ (या 'अवधि') बनाया जाता है, जो अभी तक अपरिवर्तित फ़ाइल का प्रतिनिधित्व करता है। बाद के आवेषण और विलोपन एक अवधि को एक, दो, या तीन संदर्भों के संयोजन द्वारा मूल दस्तावेज़ के अनुभागों या अंतःस्थापित पाठ को धारण करने वाले बफर के लिए प्रतिस्थापित करते हैं। आम तौर पर मूल दस्तावेज़ का पाठ एक अपरिवर्तनीय खंड में रखा जाता है, और प्रत्येक बाद के सम्मिलन का पाठ नए अपरिवर्तनीय खंडों में संग्रहीत किया जाता है। क्योंकि यहाँ तक कि हटाए गए पाठ को अभी भी पीस टेबल में शामिल किया गया है, यह गैप बफर जैसे वैकल्पिक डेटा संरचनाओं की तुलना में पीस टेबल के साथ लागू करने के लिए बहु-स्तरीय या असीमित पूर्ववत करना आसान बनाता है। इस डेटा संरचना का आविष्कार जे स्ट्रोथर मूर ने किया था। विवरण इस विवरण के लिए, हम सामग्री को रखने के लिए अपरिवर्तनीय ब्लॉक के रूप में बफर का उपयोग करते हैं। एक पीस टेबल में तीन कॉलम होते हैंः बफर में बफर लंबाई में कौन सा बफर स्टार्ट इंडेक्स टेबल के अलावा, संपादन को संभालने के लिए दो बफर का उपयोग किया जाता हैः "मूल बफर": मूल पाठ दस्तावेज़ के लिए एक बफर। यह बफर केवल पढ़ने के लिए है। "बफर जोड़ें": एक अस्थायी फ़ाइल में एक बफर। यह बफर केवल परिशिष्ट है। संचालन सूचकांक परिभाषाः सूचकांक (i): स्थिति में वर्ण को वापस करें ताकि i-th वर्ण को पुनः प्राप्त किया जा सके, एक टुकड़ा तालिका में उपयुक्त प्रविष्टि पढ़ी जाती है। उदाहरण निम्नलिखित बफर और पीस टेबल को देखते हुएः i-th वर्ण तक पहुँचने के लिए, पीस टेबल में उपयुक्त प्रविष्टि देखी जाती है। उदाहरण के लिए, सूचकांक (15) का मूल्य प्राप्त करने के लिए, पीस टेबल की तीसरी प्रविष्टि प्राप्त की जाती है। ऐसा इसलिए है क्योंकि तीसरी प्रविष्टि सूचकांक 12 से 17 तक के वर्णों का वर्णन करती है (पहली प्रविष्टि सूचकांक 0 से 5 में वर्णों का वर्णन करती है, अगली प्रविष्टि 6 से 11 है)। पीस टेबल प्रविष्टि प्रोग्राम को "ऐड फाइल" बफर में वर्णों को देखने का निर्देश देती है, जो उस बफर में सूचकांक 18 से शुरू होती है। उस प्रविष्टि में सापेक्ष सूचकांक 15-12 = 3 है, जिसे अक्षर की अनुक्रमणिका प्राप्त करने के लिए बफर में प्रविष्टि की प्रारंभिक स्थिति में जोड़ा जाता हैः 3+18 = 21। सूचकांक (15) का मान "ऐड फाइल" बफर का 21वां वर्ण है, जो वर्ण "ओ" है। ऊपर दिए गए बफ़र्स और पीस टेबल के लिए, निम्नलिखित पाठ दिखाया गया हैः लोरेम इप्सम डोलोर सिट एमेट टेक्स्ट में अक्षरों को सम्मिलित करने में शामिल हैंः "फ़ाइल जोड़ें" बफर में वर्णों को जोड़ना, और पीस टेबल में प्रविष्टि को अद्यतन करना (दो या तीन में एक प्रविष्टि को तोड़ना) एकल वर्ण विलोपन दो संभावित शर्तों में से एक हो सकता हैः विलोपन एक पीस प्रविष्टि की शुरुआत या अंत में होता है, जिस स्थिति में पीस टेबल में उपयुक्त प्रविष्टि को संशोधित किया जाता है। विलोपन एक टुकड़ा प्रविष्टि के बीच में होता है, जिस स्थिति में प्रविष्टि विभाजित होती है तो उत्तराधिकारी प्रविष्टियों में से एक को ऊपर के रूप में संशोधित किया जाता है। उपयोग कई पाठ संपादक आंतरिक रूप से एक इन-रैम पीस टेबल का उपयोग करते हैं, जिसमें ब्रेवो, अबीवर्ड, एटम और विजुअल स्टूडियो कोड शामिल हैं। माइक्रोसॉफ्ट वर्ड के कुछ संस्करणों में "फास्ट सेव" सुविधा ऑन-डिस्क फ़ाइल प्रारूप के लिए एक पीस टेबल का उपयोग करती है। ओबेरॉन प्रणाली में पाठ फ़ाइलों का ऑन-डिस्क प्रतिनिधित्व एक पीस चेन तकनीक का उपयोग करता है जो एक दस्तावेज़ के टुकड़ों को किसी अन्य दस्तावेज़ में संग्रहीत पाठ को इंगित करने की अनुमति देता है, जो ट्रांसक्लूजन के समान है। रोप (कंप्यूटर विज्ञान) गैप बफर भी देखें, एक डेटा संरचना जो आमतौर पर पाठ संपादकों में उपयोग की जाती है जो एक ही स्थान एनफिलेड के पास क्लस्टर किए गए कुशल सम्मिलन और विलोपन संचालन की अनुमति देती है, मॉडल-टी एनफिलेड एक वृक्ष-आधारित कार्यान्वयन के साथ एक पीस टेबल है। संदर्भ स्ट्रिंग डेटा संरचनाएँ