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

सूत्र-पत्रक, हर विषय के मुख्य विधि-चरण और 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.एल्गोरिदम और जटिलताकठिन

बेलमैन–फ़ोर्ड एल्गोरिदम स्रोत से पहुँच योग्य ऋणात्मक-भार चक्र का पता कैसे लगाता है?

  1. Aयह जाँचता है कि क्या किसी किनारे का भार ऋणात्मक है
  2. Bयह डाइकस्ट्रा का एल्गोरिदम दो बार चलाकर दोनों दूरी परिणामों की तुलना करता है
  3. Cयह डेप्थ-फ़र्स्ट सर्च से चक्र गिनता है
  4. DV − 1 दौरों के बाद यह जाँचता है कि क्या कोई किनारा अब भी रिलैक्स हो सकता है
3.डेटा संरचनाएँमध्यम

चलता हुआ प्रोग्राम सक्रिय फ़ंक्शन कॉल और उनके स्थानीय वेरिएबल का हिसाब रखने के लिए कौन-सी डेटा संरचना उपयोग करता है?

  1. Aहीप मेमोरी क्यू
  2. Bफ़्रेमों का बाइनरी सर्च ट्री
  3. Cफ़ंक्शनों की हैश टेबल
  4. Dकॉल स्टैक
4.डेटा संरचनाएँकठिन

रेड-ब्लैक ट्री के नियम n कुंजियों वाले ट्री की ऊँचाई के बारे में क्या गारंटी देते हैं?

  1. Aऊँचाई ठीक log2 n है
  2. Bऊँचाई अधिकतम n / 2 है
  3. Cऊँचाई अधिकतम log2 n + 1 है
  4. Dऊँचाई अधिकतम 2 log2(n + 1) है
5.ग्राफ़ सिद्धांतमध्यम
ABCDEयूलर परिपथयूलर पथ, परिपथ नहींदोनों में से कुछ नहीं

क्या संबद्ध ग्राफ़ में यूलर परिपथ है, परिपथ न होने वाला यूलर पथ है, या दोनों में से कुछ नहीं? अपना उत्तर क्लिक करें।

|V| = 5|E| = 5
  1. 1यूलर परिपथ
  2. 2यूलर पथ, परिपथ नहीं
  3. 3दोनों में से कुछ नहीं
6.ग्राफ़ सिद्धांतकठिन
1319742173126ABCDEFG

प्रिम का एल्गोरिथ्म शीर्ष E से शुरू करके न्यूनतम स्पैनिंग ट्री बनाता है। उस कोर पर क्लिक करें जिसे वह कोर संख्या 2 के रूप में जोड़ता है।

प्रारंभ: Ek = 2
  1. 1कोर AB
  2. 2कोर AC
  3. 3कोर BC
  4. 4कोर BD
  5. 5कोर DE
  6. 6कोर EF
  7. 7कोर GB
  8. 8कोर GC
  9. 9कोर GD

3विलयन

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

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

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

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

उत्तर

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

उत्तर: D · V − 1 दौरों के बाद यह जाँचता है कि क्या कोई किनारा अब भी रिलैक्स हो सकता है

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

सभी वास्तविक सबसे छोटी दूरियाँ V − 1 दौरों में मिल जाती हैं; यदि कोई किनारा अब भी सुधारा जा सके, तो ऋणात्मक चक्र अवश्य मौजूद है।

उत्तर

D · V − 1 दौरों के बाद यह जाँचता है कि क्या कोई किनारा अब भी रिलैक्स हो सकता है
3.डेटा संरचनाएँ

उत्तर: D · कॉल स्टैक

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

हर कॉल एक स्टैक फ़्रेम push करती है और हर return उसे pop करता है, इसीलिए सबसे हाल की कॉल पहले समाप्त होती है।

उत्तर

D · कॉल स्टैक
4.डेटा संरचनाएँ

उत्तर: D · ऊँचाई अधिकतम 2 log2(n + 1) है

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

हर पथ में समान संख्या में काले नोड होते हैं और लाल नोड आसन्न नहीं हो सकते, इसलिए सबसे लंबा पथ सबसे छोटे का अधिकतम दोगुना है, जिससे ऊँचाई O(log n) होती है।

उत्तर

D · ऊँचाई अधिकतम 2 log2(n + 1) है
5.ग्राफ़ सिद्धांत

उत्तर: यूलर पथ, परिपथ नहीं

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

घात

deg(A) = 2, deg(B) = 4, deg(C) = 2, deg(D) = 1, deg(E) = 1

विषम शीर्ष

D, E → 2
यूलर पथ, परिपथ नहीं

उत्तर

यूलर पथ, परिपथ नहीं

यूलर पथ एक विषम शीर्ष से शुरू होता है और दूसरे पर समाप्त होता है।

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

उत्तर: कोर BD

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

प्रिम का एल्गोरिथ्म

1. DE (2)
2. BD (4)
3. GB (3)
4. BC (7)
5. AB (13)
6. EF (17)

कोर संख्या 2

BD

उत्तर

कोर BD

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