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

डेटा संरचना में ऐरे दोहरीकरण


कभी-कभी हम गतिशील स्मृति आवंटन का उपयोग करके सरणी बनाते हैं। यदि गतिशील स्मृति आवंटन तकनीक का उपयोग करके सरणी आवंटित की जाती है, तो हम कुछ संचालन करके सरणी के आकार को दोगुना कर सकते हैं।

मान लीजिए प्रारंभिक सरणी आकार 5 था।

सरणी

0
1
2
3
4
तत्व 1
तत्व 2
तत्व 3
तत्व 4
तत्व 5

सरणी दोहरीकरण के बाद, आकार है -

0
1
2
3
4
5
6
7
8
9
तत्व 1
तत्व 2
तत्व 3
तत्व 4
तत्व 5
तत्व 6
तत्व 7
तत्व 8
तत्व 9
तत्व 10

आकार n के सरणी गिरफ्तारी के आकार को दोगुना करने के लिए, [0… n-1] को गिरफ्तार करें। सबसे पहले हमें आकार की एक नई सरणी बनानी होगी जैसे कि मी। फिर n तत्वों को गिरफ्तारी से नई सरणी में कॉपी करें। अंत में नई सरणी को इंगित करने के लिए arr का मान बदलें।

आकार m की एक सरणी बनाने के लिए, इसमें (m) समय लगेगा। ऐसा इसलिए है क्योंकि इसे कुछ डिफ़ॉल्ट मानों के साथ प्रारंभ किया जाएगा। फिर इसे पुराने सरणी से नए सरणी में कॉपी करने के लिए अतिरिक्त θ(n) समय की आवश्यकता होगी। तो ऑपरेशन में θ(m + n) समय लगता है। यह ऑपरेशन तब हो रहा है जब सरणी भर गई है। और आमतौर पर m का मान 2n के समान होता है। तो जटिलता θ(2n + n) =(3n) (n) के बराबर है। लेकिन इस ऑपरेशन को महंगा माना जाता है। हालाँकि इस ऑपरेशन को बाद के n पुनरावृत्तियों पर परिशोधित किया जाता है, फिर यह केवल θ(1) प्रति पुनरावृत्ति समय जोड़ता है। तो हम समझ सकते हैं कि निरंतर कारक में सरणी आकार बढ़ने से एसिम्प्टोटिक जटिलता पर प्रतिकूल प्रभाव नहीं पड़ता है।


  1. डेटा संरचना में एकल सरणी में एकाधिक सूचियां

    ऐरे प्रतिनिधित्व मूल रूप से स्थान की बर्बादी है जब यह डेटा संग्रहीत कर रहा है जो समय के साथ बदल जाएगा। कुछ डेटा स्टोर करने के लिए, हम कुछ जगह आवंटित करते हैं जो एक सरणी में एकाधिक मानों को स्टोर करने के लिए पर्याप्त है। मान लीजिए कि हम सरणी के आकार को बढ़ाने के लिए सरणी दोहरीकरण मानदंड का उपयोग करते

  1. डेटा संरचना में खंड पेड़

    इस खंड में हम देखेंगे कि खंड वृक्ष क्या है। उस पर चर्चा करने से पहले, आइए एक समस्या देखें। मान लीजिए कि हमारे पास एक सरणी है [0,…,n-1], हम निम्नलिखित ऑपरेशन कर सकते हैं - सूचकांक l से r तक के तत्वों का योग ज्ञात कीजिए, जहाँ 0 ≤ l ≤ r ≤ n-1 सरणी के निर्दिष्ट तत्व के मान को नए मान x में बदलें।

  1. हाफेज डेटा संरचना

    परिचय टेम्पलेट पैरामीटर या हाफएज डेटा संरचना (हाफएजडीएस के रूप में संक्षिप्त) के लिए एक एचडीएस को किनारे-केंद्रित डेटा संरचना के रूप में परिभाषित किया गया है, जो शिखर, किनारों और चेहरों की घटनाओं की जानकारी को बनाए रखने में सक्षम है, जैसे कि प्लानर मैप्स, पॉलीहेड्रा, या अन्य उन्मुख, द्वि-आयामी यादृ