मुझे यह link से मिला जो बाहरी विलय प्रकार के बारे में बात करता है।टाइम कॉम्प्लेक्सिटी/बाहरी मर्ज की लागत क्रमबद्ध करें
स्लाइड 6 उदाहरण से: 5 बफर पृष्ठों के साथ, 108 पृष्ठ फ़ाइल को सॉर्ट करने
Pass0: [108/5] = 22 5 पृष्ठों प्रत्येक (केवल 3 पृष्ठों के साथ पिछले रन)
की क्रमबद्ध रनPass1 [22/4] 20 पृष्ठों प्रत्येक (केवल 8 पृष्ठों के साथ पिछले रन) के = 6 अनुसार क्रमबद्ध रन
Pass2: [6/3] = 2 छाँटे गए रन, 80 पृष्ठों और 28 पृष्ठों
पास 3: [2/2] = 1 108 पृष्ठों
के आधार पर छाँटे गए फ़ाइल
प्रश्न: मेरी समझ, बाहरी मर्ज प्रकार में है पास 0 में आप हिस्सा बना सकते हैं और उसके बाद प्रत्येक हिस्सा छांटते हैं। शेष पास में आप उन्हें विलय करते रहते हैं। तो, उपरोक्त उदाहरण के लिए आवेदन करना, चूंकि हमारे पास केवल 5 बफर पेज हैं, पास 0 में यह स्पष्ट है कि हमें प्रत्येक के 5 पृष्ठों के 22 क्रमबद्ध रन की आवश्यकता है।
अब, हम इसके बजाय शेष पास के लिए क्रमबद्ध रन क्यों कर रहे हैं या विलय कर रहे हैं?
हमारे पास केवल 5 बफर पेज होने पर 20 पृष्ठों के पास 1, 6 क्रमबद्ध रनों के लिए कैसे कहा जाता है?
जहां वास्तव में यहां विलय हो रहा है? और प्रत्येक पास में 108 से 22 से 6 से 2 तक एन कैसे कम हो रहा है?
मान लें कि सभी पृष्ठों का आकार बराबर है। आप 108 पृष्ठों से 4 पेज लोड करते हैं और इसे 4 इनपुट बफर पृष्ठों में संग्रहीत करते हैं और फिर परिणाम बफर में डेटा मर्ज करते हैं। अब, परिणाम बफर डेटा को 4 इनपुट बफर पृष्ठों का आकार कैसे रख सकता है? –
सभी पृष्ठ एक ही आकार के हैं, पिछले एक तरफ से। पास 0 में, आप 5 पेज लोड करते हैं और उन्हें जगह में सॉर्ट करते हैं। यह एक समय में सभी 4 पृष्ठों को पकड़ नहीं है। इसमें केवल प्रत्येक रन का पहला पृष्ठ होता है, प्रत्येक रन को एक लिंक्ड सूची के रूप में सोचें। प्रत्येक पृष्ठ के अंत में एक पॉइंटर होता है जहां रन में अगला पृष्ठ होता है। डेटा सॉर्ट किया गया है, इसलिए पेज 2 पर डेटा पेज 1 के डेटा के बाद तार्किक रूप से होने वाला है। मुझे लगता है कि आप एक पेज और रन क्या जोड़ रहे हैं। रन में कई पेज शामिल होते हैं, पृष्ठों में डेटा होता है। – JustinDanielson
पास 1 के लिए, आप डिस्क से 4 पृष्ठों को डिस्क में 4 इनपुट पृष्ठों में कॉपी करते हैं, फिर उन पृष्ठों को आउटपुट पेज में विलय करें जो रैम में है। क्या यह आउटपुट पेज अन्य इनपुट पृष्ठों के आकार से 4 गुना है? आप देखते हैं कि मैं क्या कहने की कोशिश कर रहा हूं? –