Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

डेटा संरचना में सब्स्टीट्यूशन मेथड (प्रतिस्थापन विधि)


यहां हम देखेंगे कि पुनरावृत्ति संबंधों को हल करने के लिए प्रतिस्थापन विधि का उपयोग कैसे करें। हम इसे बेहतर तरीके से समझने के लिए दो उदाहरण लेंगे।

मान लें हम बाइनरी सर्च तकनीक का उपयोग कर रहे हैं। इस तकनीक में, हम जांचते हैं कि तत्व मध्य में मौजूद है या नहीं। यदि वह मध्य में मौजूद है, तो एल्गोरिदम समाप्त हो जाता है, अन्यथा हम वास्तविक ऐरे से फिर से बाएं या दाएं सबऐरे लेते हैं। इसलिए प्रत्येक चरण में ऐरे का आकार n/2 से घट जाता है। मान लें बाइनरी सर्च एल्गोरिदम निष्पादित होने में T(n) समय लेता है। बेस कंडीशन O(1) समय लेती है। इसलिए पुनरावृत्ति समीकरण नीचे जैसा होगा -

$$T(n)=\begin{cases}T(1) & \text{ for } n \leq 1\\T(\frac{n}{2})+c & \text{ for } n > 1\end{cases}$$

हल करें - हम प्रत्येक चरण में परिणाम प्राप्त करने के लिए सूत्र को प्रतिस्थापित करेंगे -

$$T(n)=T(\frac{n}{2})+c$$

T(N/2) को प्रतिस्थापित करके हम लिख सकते हैं,

$$T(n)=(T(\frac{n}{4})+c)+c$$

$$T(n)=T(\frac{n}{4})+2c$$

$$T(n)=T(\frac{n}{8})+3c$$

$$T(n)=T(\frac{n}{2^{k}})+kc$$

अब यदि $$(\frac{n}{2^{k}})$$ 1 तक पहुंचता है, तो यह इंगित करता है कि 2k n है। इसलिए k का मान log2n है

T(n) की जटिलता = Θ(log n)

इसी तरह, यदि हम मर्ज सॉर्ट जैसे एक और उदाहरण चुनते हैं, तो उस मामले में हम लिस्ट को दो भागों में विभाजित करते हैं। यह विभाजन तब तक होता है जब तक लिस्ट का आकार केवल 1 नहीं हो जाता। उसके बाद हम उन्हें सॉर्टेड ऑर्डर में मर्ज करते हैं। मर्जिंग एल्गोरिदम O(n) समय लेता है। इसलिए यदि मर्ज सॉर्ट एल्गोरिदम T(n) समय ले रहा है, तो इसे दो हिस्सों में विभाजित करके, और उनमें से प्रत्येक के लिए वही कार्य करके, वे T(n/2) लेंगे और इसी तरह। इसलिए पुनरावृत्ति संबंध नीचे जैसा होगा -

$$T(n)=\begin{cases}T(1) & \text{ for } n = 1\\2T(\frac{n}{2})+cn & \text{ for } n > 1\end{cases}$$

हल करें - हम प्रत्येक चरण में परिणाम प्राप्त करने के लिए सूत्र को प्रतिस्थापित करेंगे -

$$T(n)=2T(\frac{n}{2})+cn$$

T(N/2) को प्रतिस्थापित करके हम लिख सकते हैं,

$$T(n)=2(2T(\frac{n}{4})+\frac{cn}{2}) +cn$$

$$T(n)=4T(\frac{n}{4}) +2cn$$

$$T(n)=8T(\frac{n}{8}) +3cn$$

$$T(n)=2^{k}T(\frac{n}{2^{k}}) +kcn$$

अब यदि $$(\frac{n}{2^{k}})$$ 1 तक पहुंचता है, तो यह इंगित करता है कि 2k n है। इसलिए k का मान log2n है। और T(n) होगा -

𝑇(𝑛) = 𝑛𝑇(1) + 𝑐𝑛 log2𝑛

जटिलता है Θ(n log n)

  1. डेटा संरचना में B+ ट्री क्वेरी (B+ tree Query) डेटा संरचना में B+ ट्री क्वेरी (B+ tree Query)

    यहाँ हम देखेंगे कि B+ ट्री में खोज कैसे की जाती है। B+ ट्री खोज को B+ ट्री क्वेरीिंग (B+ Tree Querying) के रूप में भी जाना जाता है। यह एल्गोरिदम B-ट्री की क्वेरी करने के समान है। इसके अलावा, यह रेंज क्वेरी (range query) का समर्थन करता है। मान लीजिए हमारे पास नीचे जैसा B+ ट्री है: B+ ट्री का उदाहरण

  1. डेटा संरचना में B+ ट्री (The B+ tree) डेटा संरचना में B+ ट्री (The B+ tree)

    यहाँ हम देखेंगे कि B+ ट्री (B+ Trees) क्या हैं। B+ ट्री B-ट्री का विस्तारित संस्करण हैं। यह ट्री B-ट्री की तुलना में बेहतर सम्मिलन, विलोपन और खोज का समर्थन करता है। B-ट्री में, कुंजियाँ और रिकॉर्ड मान आंतरिक और साथ ही पत्ती नोड्स में संग्रहीत होते हैं। B+ ट्री में रिकॉर्ड्स, पत्ती नोड पर संग्रहीत

  1. हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure) हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure)

    परिचय (Introduction) टेम्पलेट पैरामीटर्स के लिए HDS या हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure - संक्षिप्त HalfedgeDS) को एक एज-केंद्रित डेटा स्ट्रक्चर (Edge-centered Data Structure) के रूप में परिभाषित किया जाता है जो वर्टेक्स, एज और फेसेस (Vertices, Edges and Faces) की घटना जानकारी (Incidenc