मैं एक diff एल्गोरिथ्म है कि काम करता है और कुशल है की एक विवरण के लिए पागल हो की तरह लग रही किया गया है।Diff एल्गोरिथ्म
निकटतम मुझे मिल गया जो पूरी तरह से समझा जा सकता शर्तों डेटा स्वरूप जिसमें diff परिणाम जमा हो जाती है में वर्णन करता है (कई एरिक सिंक ब्लॉग पोस्ट से) this link to RFC 3284 है। हालांकि, इसमें कोई उल्लेख नहीं है कि एक कार्यक्रम करने के दौरान एक कार्यक्रम इन परिणामों तक कैसे पहुंचेगा।
मैं व्यक्तिगत जिज्ञासा से इसे शोध करने की कोशिश कर रहा हूं, क्योंकि मुझे यकीन है कि एक diff एल्गोरिदम लागू करते समय ट्रेडऑफ होना चाहिए, जो कभी-कभी स्पष्ट होते हैं जब आप diffs को देखते हैं और आश्चर्य करते हैं "diff प्रोग्राम ने क्यों चुना इस बजाय कि? "का एक परिवर्तन ...
किसी को भी पता है, जहां मैं एक कुशल एल्गोरिथ्म कि VCDIFF outputting पहुंचते हैं का एक विवरण प्राप्त कर सकते हैं के रूप में?
वैसे, यदि आपको SourceGear's DiffMerge द्वारा उपयोग किए गए वास्तविक एल्गोरिदम का विवरण मिलना है, तो यह भी बेहतर होगा।
नोट: सबसे लंबे समय तक आम subsequence VCDIFF द्वारा प्रयोग किया जाता एल्गोरिथ्म होना प्रतीत नहीं होता है, ऐसा लगता है कि वे कुछ होशियार कर रहे हैं, वे का उपयोग डेटा स्वरूप को देखते हुए लग रहा है।
धन्यवाद!
आरएफसी एल्गोरिदम का वर्णन करने के लिए नहीं हैं। वे इंटरफेस (/ प्रोटोकॉल) का वर्णन करने के लिए हैं। –
शायद यह मदद करेगा: http://paulbutler.org/archives/a-simple-diff-algorithm-in-php/ यह निश्चित रूप से कमाल है, और यह बहुत छोटा है (केवल ** 2 9 लाइनों को पूरी तरह से **; इसमें 2 है फ़ंक्शन)। यह स्टैक ओवरफ़्लो के संपादन संशोधन की तुलना में समान है। – Nathan
वीसीडीआईएफएफ मानव पठनीय diffs के लिए नहीं है। यह अधिक मानव पठनीय हटाने के विरोध में निर्देशों को जोड़, कॉपी और चलाता है और अधिकांश सादा पाठ diff एल्गोरिदम द्वारा उत्सर्जित निर्देश डालें। VCDIFF के लिए आप xdelta algortihm यहाँ http://www.xmailserver.org/xdfs.pdf वर्णित – asgerhallas