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

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

फ़्लॉयड–वॉर्शल एल्गोरिदम क्या गणना करता है, और कितनी तेज़ी से?

  1. Aएक स्रोत शीर्ष से बाकी सभी तक सबसे छोटे पथ, O(V + E) में
  2. Bशीर्षों के सभी युग्मों के बीच सबसे छोटे पथ, O(V³) में
  3. Cएक मिनिमम स्पैनिंग ट्री, O(E log V) में
  4. Dएक टोपोलॉजिकल क्रम, O(V²) में
2.एल्गोरिदम और जटिलताकठिन

कौन-सा एल्गोरिदम बार-बार ऐसा सबसे सस्ता एज जोड़कर, जो चक्र न बनाए, मिनिमम स्पैनिंग ट्री खोजता है?

  1. AFloyd–Warshall
  2. BDijkstra का एल्गोरिदम
  3. Cएक नोड से शुरू होने वाला Prim का एल्गोरिदम
  4. DKruskal का एल्गोरिदम
3.डेटा संरचनाएँमध्यम

लिंक्ड लिस्ट में सेंटिनल (डमी) नोड का उद्देश्य क्या है?

  1. Aतत्वों की संख्या संग्रहीत करना
  2. Bलिस्ट को नोडों की एक निश्चित अधिकतम संख्या से आगे बढ़ने से रोकना
  3. Cलिस्ट को सॉर्टेड बनाना
  4. Dहेड या टेल पर विशेष मामलों को हटाकर कोड को सरल बनाना
4.डेटा संरचनाएँकठिन

सर्कुलर बफ़र में front == rear का अर्थ ख़ाली या भरा दोनों हो सकता है। इन्हें अलग पहचानने का एक सामान्य तरीका क्या है?

  1. Aएक अलग तत्व-गिनती रखें, या हमेशा एक स्लॉट ख़ाली छोड़ें
  2. Bजब भी front, rear के बराबर हो बफ़र साफ़ कर दें, ताकि स्थिति ख़ाली रहे
  3. Cबफ़र का आकार दो की घात रखें
  4. Dfront और rear को एक ही वेरिएबल में संग्रहीत करें
5.ग्राफ़ सिद्धांतमध्यम

एक संबद्ध ग्राफ़ में 6 शीर्ष और 9 कोरें हैं। स्पैनिंग ट्री बचाने के लिए कितनी कोरें k हटानी होंगी?

|V| = 6|E| = 9
k =
6.ग्राफ़ सिद्धांतकठिन
719128111815210ABCDEFG

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

k = 5
  1. 1कोर AB
  2. 2कोर BC
  3. 3कोर BD
  4. 4कोर CE
  5. 5कोर DE
  6. 6कोर EF
  7. 7कोर GC
  8. 8कोर GD
  9. 9कोर GE

3विलयन

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

उत्तर: B · शीर्षों के सभी युग्मों के बीच सबसे छोटे पथ, O(V³) में

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

फ़्लॉयड–वॉर्शल एक डायनेमिक प्रोग्रामिंग एल्गोरिदम है जो बारी-बारी से हर शीर्ष को मध्यवर्ती बिंदु के रूप में अनुमति देता है, O(V³) समय में।

उत्तर

B · शीर्षों के सभी युग्मों के बीच सबसे छोटे पथ, O(V³) में
2.एल्गोरिदम और जटिलता

उत्तर: D · Kruskal का एल्गोरिदम

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

Kruskal एज को वेट के अनुसार सॉर्ट करता है और उन्हें जोड़ता है यदि वे अलग-अलग घटकों को जोड़ते हैं; Prim एक प्रारंभिक शीर्ष से एक ही ट्री बढ़ाता है।

उत्तर

D · Kruskal का एल्गोरिदम
3.डेटा संरचनाएँ

उत्तर: D · हेड या टेल पर विशेष मामलों को हटाकर कोड को सरल बनाना

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

सेंटिनल के साथ हर वास्तविक नोड का एक पूर्ववर्ती होता है, इसलिए हेड पर डालने या हटाने के लिए विशेष व्यवहार की आवश्यकता नहीं होती।

उत्तर

D · हेड या टेल पर विशेष मामलों को हटाकर कोड को सरल बनाना
4.डेटा संरचनाएँ

उत्तर: A · एक अलग तत्व-गिनती रखें, या हमेशा एक स्लॉट ख़ाली छोड़ें

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

गिनती के साथ ख़ाली का अर्थ count = 0 और भरा का अर्थ count = capacity है; एक ख़ाली स्लॉट के साथ भरा (rear + 1) mod n == front के रूप में परिभाषित होता है।

उत्तर

A · एक अलग तत्व-गिनती रखें, या हमेशा एक स्लॉट ख़ाली छोड़ें
5.ग्राफ़ सिद्धांत

उत्तर: k = 4

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

स्पैनिंग ट्री की कोरें

6 − 1 = 5

हटाई जाने वाली कोरें

k = 9 − 5 = 4

उत्तर

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

उत्तर: कोर BD

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

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

1. GD (2)
2. AB (7)
3. CE (8)
4. GE (10)
5. BD (12)
6. EF (18)

कोर संख्या 5

BD

उत्तर

कोर BD

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