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

सूत्र-पत्रक, हर विषय के मुख्य विधि-चरण और 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. AO(log n)
  2. BO(n log n)
  3. CO(n²)
  4. DO(n)
2.एल्गोरिदम और जटिलताकठिन

अनिर्णेय (undecidable) समस्या और दुःसाध्य (intractable) समस्या में क्या अंतर है?

  1. Aदुःसाध्य समस्याएँ किसी भी एल्गोरिदम से हल नहीं हो सकतीं, जबकि अनिर्णेय समस्याओं को केवल घातांकी समय चाहिए
  2. Bअनिर्णेय समस्या के लिए सभी इनपुट पर कोई एल्गोरिदम नहीं होता; दुःसाध्य के लिए होता है, पर बहुत धीमा
  3. Cदोनों का अर्थ है कि समस्या का कोई एल्गोरिदम ही नहीं है
  4. Dअनिर्णेय समस्याएँ NP में हैं, जबकि दुःसाध्य समस्याएँ P में हैं
3.डेटा संरचनाएँमध्यम

एडजेसेंसी मैट्रिक्स से यह जाँचने में कितना समय लगता है कि किनारा (u, v) मौजूद है या नहीं?

  1. AO(1)
  2. BO(E)
  3. CO(log V)
  4. DO(V)
4.डेटा संरचनाएँकठिन

O(1) अतिरिक्त मेमोरी से कैसे पता लगाएँ कि सिंगली लिंक्ड लिस्ट में चक्र है या नहीं?

  1. Aलिस्ट सॉर्ट करके दोहराव खोजें
  2. Bनोड तब तक गिनें जब तक गिनती लिस्ट-लंबाई फ़ील्ड से अधिक न हो जाए
  3. Cएक पॉइंटर को एक क़दम और दूसरे को दो क़दम चलाएँ और देखें कि वे मिलते हैं या नहीं
  4. Dहर देखे गए नोड को एक हैश सेट में संग्रहीत करें
5.ग्राफ़ सिद्धांतमध्यम

एक वृक्ष में घात 5 वाले 2 शीर्ष, घात 2 वाले 4 शीर्ष है, और उसके बाकी सभी शीर्ष पत्ते (घात 1) हैं। उसमें कितने पत्ते L हैं?

2 × deg 54 × deg 2
L =
6.ग्राफ़ सिद्धांतकठिन
153201821910118167ABCDEFG

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

|V| = 7|E| = 12
W =

3विलयन

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

उत्तर: D · O(n)

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

यदि योग बहुत छोटा हो तो बायाँ पॉइंटर दाएँ खिसकता है, बहुत बड़ा हो तो दायाँ पॉइंटर बाएँ, इसलिए अधिकतम n चरण होते हैं।

उत्तर

D · O(n)
2.एल्गोरिदम और जटिलता

उत्तर: B · अनिर्णेय समस्या के लिए सभी इनपुट पर कोई एल्गोरिदम नहीं होता; दुःसाध्य के लिए होता है, पर बहुत धीमा

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

हॉल्टिंग समस्या का कोई एल्गोरिदम ही नहीं है; TSP जैसी NP-hard समस्या ब्रूट फ़ोर्स से हल हो सकती है, बस ज्ञात बहुपदी समय में नहीं।

उत्तर

B · अनिर्णेय समस्या के लिए सभी इनपुट पर कोई एल्गोरिदम नहीं होता; दुःसाध्य के लिए होता है, पर बहुत धीमा
3.डेटा संरचनाएँ

उत्तर: A · O(1)

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

पंक्ति u, स्तंभ v की मैट्रिक्स प्रविष्टि तुरंत बताती है कि किनारा मौजूद है या नहीं; एडजेसेंसी लिस्ट में u के पड़ोसियों को स्कैन करना पड़ सकता है।

उत्तर

A · O(1)
4.डेटा संरचनाएँ

उत्तर: C · एक पॉइंटर को एक क़दम और दूसरे को दो क़दम चलाएँ और देखें कि वे मिलते हैं या नहीं

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

फ़्लॉयड के एल्गोरिदम में चक्र होने पर तेज़ पॉइंटर अंततः धीमे को पकड़ लेता है; अन्यथा तेज़ पॉइंटर null तक पहुँच जाता है।

उत्तर

C · एक पॉइंटर को एक क़दम और दूसरे को दो क़दम चलाएँ और देखें कि वे मिलते हैं या नहीं
5.ग्राफ़ सिद्धांत

उत्तर: L = 8

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

वृक्ष के लिए हैंडशेक लेमा

L + 18 = 2(L + 6) − 2
L = 8

उत्तर

L = 8

शॉर्टकट: L = 2 + Σ (d − 2), घात d ≥ 3 वाले शीर्षों पर।

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

उत्तर: W = 30

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

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

GC (1): लें
CE (2): लें
AC (3): लें
GD (6): लें
GE (7): छोड़ें, चक्र बनता है
GB (8): लें
DF (10): लें

कुल भार

W = 1 + 2 + 3 + 6 + 8 + 10 = 30

उत्तर

W = 30

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