डेटा संरचना और एल्गोरिदम: क्रैम पैक

सूत्र-पत्रक, हर विषय के मुख्य विधि-चरण और 6 अभ्यास प्रश्न, पूरे हल पीछे दिए गए हैं।

नए प्रश्नकोर्स पर वापस जाएँ

प्रिंट विंडो में “PDF के रूप में सहेजें” चुनें, ताकि एक प्रति आपके डिवाइस पर रहे।

1सूत्र और विधियाँ

ग्राफ़ सिद्धांत

हैंडशेक लेमा
Σ deg(v) = 2|E|
पूर्ण ग्राफ़
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
नियमित ग्राफ़
|E| = n·k/2
वृक्ष और वन
|E| = n − 1, |E| = n − c
वृक्ष के पत्ते
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
यूलर
परिपथ: सभी घात सम; पथ: ठीक 2 घात विषम
Kn में हैमिल्टन परिपथ
(n − 1)!/2
डाइक्स्ट्रा अद्यतन
d(v) = min(d(v), d(u) + w(u, v))
लंबाई L की वॉक
(Mᴸ)ij

विधि

  1. हर शीर्ष की घात लिखें; घातों का योग कोरों की संख्या का दोगुना होता है।
  2. यूलर के प्रश्नों में जाँचें कि ग्राफ़ संबद्ध है और विषम घात वाले शीर्षों को गिनें।
  3. वृक्षों के लिए n − 1 कोरों और हैंडशेक लेमा का उपयोग करें।
  4. डाइक्स्ट्रा के लिए अस्थायी दूरियों की सारणी रखें और हर चक्र में सबसे छोटी दूरी वाले अनिर्धारित शीर्ष को निर्धारित करें।
  5. न्यूनतम स्पैनिंग ट्री के लिए कोरों को भार के अनुसार क्रमबद्ध करें और चक्र बनाने वाली हर कोर छोड़ दें (क्रुस्कल), या किसी प्रारंभिक शीर्ष से एक वृक्ष बढ़ाएँ (प्रिम)।

2अभ्यास प्रश्न

1.एल्गोरिदम और जटिलतामध्यम

डायनेमिक प्रोग्रामिंग (dynamic programming) तब उपयोगी है जब किसी समस्या में हों:

  1. Aकेवल यादृच्छिक इनपुट
  2. Bकेवल एक लूप
  3. Cकोई उप-समस्या बिल्कुल न हो, ताकि उसे एक ही चरण में हल किया जा सके
  4. Dओवरलैपिंग उप-समस्याएँ और इष्टतम उप-संरचना (optimal substructure)
2.एल्गोरिदम और जटिलताकठिन

डायनेमिक प्रोग्रामिंग से हल की गई 0/1 नैपसैक (knapsack) समस्या में O(nW) समय लगता है। इसे स्यूडो-पॉलिनोमियल (pseudo-polynomial) क्यों कहा जाता है?

  1. Aक्योंकि यह केवल W = 0 के लिए काम करता है
  2. BW एक संख्या है, इसलिए समय W को लिखने में प्रयुक्त बिट्स की संख्या में घातांकी है
  3. Cक्योंकि n हमेशा छोटा होता है
  4. Dक्योंकि एल्गोरिदम यादृच्छिक (randomised) है और उसका रनिंग टाइम हर इनपुट के साथ बदलता है
3.डेटा संरचनाएँमध्यम

AVL ट्री और रेड-ब्लैक ट्री किस बात की गारंटी देते हैं?

  1. Aकुंजियाँ इंसर्शन के क्रम में संग्रहीत होती हैं
  2. Bपुनर्संतुलन द्वारा O(log n) ऊँचाई
  3. Cहर स्थिति में स्थिर समय में खोज
  4. Dकिसी भी नोड के दो चाइल्ड नहीं होते
4.डेटा संरचनाएँकठिन

डेटाबेस और फ़ाइल सिस्टम में B-ट्री का उपयोग क्यों किया जाता है?

  1. Aवे डेटा को अक्रमबद्ध संग्रहीत करते हैं
  2. Bवे किसी भी ऐरे से कम मेमोरी लेते हैं, इसलिए पूरा इंडेक्स हमेशा मुख्य मेमोरी में समा जाता है
  3. Cउन्हें पुनर्संतुलन की आवश्यकता नहीं होती
  4. Dउनका उच्च ब्रांचिंग फ़ैक्टर ट्री को उथला रखता है, जिससे धीमी डिस्क रीड कम होती हैं
5.ग्राफ़ सिद्धांतमध्यम

पूर्ण ग्राफ़ K8 में कितने भिन्न हैमिल्टन परिपथ H हैं? जो परिपथ केवल प्रारंभिक शीर्ष या दिशा में भिन्न हों, उन्हें एक ही गिना जाता है।

K8
H =
6.ग्राफ़ सिद्धांतकठिन
6191619515123ABCDEFG

भारित ग्राफ़ के न्यूनतम स्पैनिंग ट्री का कुल भार W ज्ञात करें।

|V| = 7|E| = 9
W =

3विलयन

1.एल्गोरिदम और जटिलता

उत्तर: D · ओवरलैपिंग उप-समस्याएँ और इष्टतम उप-संरचना (optimal substructure)

यह उत्तर क्यों है

ओवरलैपिंग उप-समस्याओं के परिणाम संग्रहीत करने (मेमोइज़ेशन या टैबुलेशन) से दोहराया गया काम बचता है, जिससे घातांकी एल्गोरिदम बहुपद एल्गोरिदम में बदल जाते हैं।

उत्तर

D · ओवरलैपिंग उप-समस्याएँ और इष्टतम उप-संरचना (optimal substructure)
2.एल्गोरिदम और जटिलता

उत्तर: B · W एक संख्या है, इसलिए समय W को लिखने में प्रयुक्त बिट्स की संख्या में घातांकी है

यह उत्तर क्यों है

रनिंग टाइम W के मान में बहुपद है लेकिन उसकी लंबाई (log W बिट्स) में घातांकी है; 0/1 नैपसैक NP-complete है।

उत्तर

B · W एक संख्या है, इसलिए समय W को लिखने में प्रयुक्त बिट्स की संख्या में घातांकी है
3.डेटा संरचनाएँ

उत्तर: B · पुनर्संतुलन द्वारा O(log n) ऊँचाई

यह उत्तर क्यों है

स्व-संतुलित ट्री ऊँचाई को लघुगणकीय बनाए रखते हैं, इसलिए खोज, इंसर्ट और डिलीट सबसे खराब स्थिति में O(log n) होते हैं।

उत्तर

B · पुनर्संतुलन द्वारा O(log n) ऊँचाई
4.डेटा संरचनाएँ

उत्तर: D · उनका उच्च ब्रांचिंग फ़ैक्टर ट्री को उथला रखता है, जिससे धीमी डिस्क रीड कम होती हैं

यह उत्तर क्यों है

B-ट्री प्रति नोड कई कुंजियाँ रखते हैं, इसलिए ऊँचाई कम होती है और प्रति लुकअप कम ब्लॉक रीड चाहिए; B+ ट्री रेंज स्कैन के लिए पत्तियों को भी जोड़ते हैं।

उत्तर

D · उनका उच्च ब्रांचिंग फ़ैक्टर ट्री को उथला रखता है, जिससे धीमी डिस्क रीड कम होती हैं
5.ग्राफ़ सिद्धांत

उत्तर: H = 2520

यूलर, हैमिल्टन और वृक्ष: संबद्ध ग्राफ़ में यूलर परिपथ (हर कोर एक बार, शुरुआत पर वापसी) तब होता है जब हर शीर्ष की घात सम हो, और परिपथ न होने वाला यूलर पथ तब जब ठीक दो शीर्षों की घात विषम हो; तब पथ एक विषम शीर्ष से दूसरे तक चलता है। हैमिल्टन परिपथ हर शीर्ष पर एक बार जाता है; Kn में ऐसे (n − 1)!/2 होते हैं। n शीर्षों वाले वृक्ष में n − 1 कोरें होती हैं, और m कोरों वाला संबद्ध ग्राफ़ m − n + 1 कोरें हटाने के बाद स्पैनिंग ट्री रखता है।

गिनें

H = (8 − 1)!/2 = 5040/2 = 2520

उत्तर

H = 2520
6.ग्राफ़ सिद्धांत

उत्तर: W = 40

सबसे छोटे पथ और स्पैनिंग ट्री: डाइक्स्ट्रा का एल्गोरिथ्म हर चक्र में एक शीर्ष निर्धारित करता है: सबसे छोटी अस्थायी दूरी वाला अनिर्धारित शीर्ष। तब उसकी दूरी अंतिम होती है, और हर पड़ोसी v को d(v) = min(d(v), d(u) + w(u, v)) मिलता है। क्रुस्कल का एल्गोरिथ्म कोरों को हल्की से भारी की ओर लेकर और चक्र बनाने वाली हर कोर छोड़कर न्यूनतम स्पैनिंग ट्री बनाता है; प्रिम का एल्गोरिथ्म प्रारंभिक शीर्ष से एक वृक्ष बढ़ाता है और हमेशा उससे बाहर जाने वाली सबसे हल्की कोर जोड़ता है। n शीर्षों के स्पैनिंग ट्री में n − 1 कोरें होती हैं।

क्रुस्कल का एल्गोरिथ्म

CE (1): लें
GE (3): लें
DF (5): लें
AB (6): लें
DE (9): लें
GD (12): छोड़ें, चक्र बनता है
GC (15): छोड़ें, चक्र बनता है
BC (16): लें

कुल भार

W = 1 + 3 + 5 + 6 + 9 + 16 = 40

उत्तर

W = 40

ExamProblems · examproblems.com/courses/data-structures-and-algorithms