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

डेटा संरचना में विषम सरणियाँ (Heterogeneous Arrays)


जैसा कि हम जानते हैं, परिभाषा के अनुसार सरणियाँ सजातीय (homogeneous) होती हैं। इसलिए हमें एक सरणी में समान प्रकार का डेटा रखना होता है। लेकिन यदि हम विभिन्न प्रकार का डेटा संग्रहीत करना चाहते हैं, तो क्या तरकीब होगी? C जैसी पुरानी भाषाओं में, हम विभिन्न प्रकारों को कृत्रिम रूप से एक प्रकार में सम्मिलित (coalesce) करने के लिए यूनियनों (unions) का उपयोग कर सकते हैं। फिर हम इस नए प्रकार पर एक सरणी परिभाषित कर सकते हैं। यहाँ एक सरणी तत्व में वास्तव में किस प्रकार का ऑब्जेक्ट है, यह एक टैग (tag) द्वारा निर्धारित होता है। आइए ऐसी एक संरचना देखें:

struct Vehicle {
    int id;
    union {
        Bus b;
        Bike c;
        Car d;
    }
};

तब प्रोग्रामर को एक परंपरा स्थापित करनी होगी कि id टैग का उपयोग कैसे किया जाएगा। मान लीजिए, उदाहरण के लिए, जब id 0 हो, तो इसका मतलब है कि दर्शाया गया Vehicle वास्तव में एक Bus है, आदि। यूनियन Bus, Bike और Car में से सबसे बड़े प्रकार के लिए मेमोरी आवंटित करता है। यदि वस्तुओं के आकार में बड़ी असमानता है तो यह मेमोरी के लिए बर्बादी है।

ऑब्जेक्ट-ओरिएंटेड भाषाओं में दृष्टिकोण

ऑब्जेक्ट-ओरिएंटेड भाषाओं में, हम विरासत (inheritance) की अवधारणा का उपयोग कर सकते हैं। मान लीजिए हमारे पास Vehicle नामक एक क्लास है, और अन्य सभी प्रकार जैसे Bus, Bike और Car इसके उप-वर्ग (sub-class) हैं। इसलिए यदि हम Vehicle के लिए एक सरणी परिभाषित करते हैं, तो वह उसके सभी उप-वर्गों को भी रख सकती है। यह हमें एक ही सरणी में विभिन्न प्रकार के डेटा को संग्रहीत करने में मदद करेगा।


  1. डेटा संरचना में हीप में इंसर्शन और डिलीशन डेटा संरचना में हीप में इंसर्शन और डिलीशन

    यहां हम देखेंगे कि बाइनरी हीप डेटा संरचनाओं से तत्वों को कैसे इंसर्ट और डिलीट करें। मान लें प्रारंभिक ट्री नीचे जैसा है -इंसर्शन एल्गोरिदमinsert(heap, n, item): 1, प्रत्येक इटरेशन में i := i / 2 सेट करें, do if item <= heap[i/2], then break heap[i] = heap[i/2] done

  1. डेटा संरचना में अनियमित सरणियाँ (Irregular Arrays) डेटा संरचना में अनियमित सरणियाँ (Irregular Arrays)

    यहाँ हम अनियमित सरणियों (Irregular Arrays) को देखेंगे। अनियमित सरणियों पर चर्चा करने से पहले, हमें नियमित सरणियों (Regular Arrays) को जानना होगा। नियमित सरणियाँ वे सरणियाँ होती हैं जहाँ प्रत्येक पंक्ति में स्तंभों की संख्या समान होती है। या दूसरे शब्दों में, जब प्रत्येक पंक्ति समान संख्या में तत्व

  1. डेटा संरचना में सरणियों की सरणी प्रतिनिधित्व (Array of Arrays Representation) डेटा संरचना में सरणियों की सरणी प्रतिनिधित्व (Array of Arrays Representation)

    इस अनुभाग में हम बहुआयामी सरणियों के एक अन्य प्रतिनिधित्व को देखेंगे। यहाँ हम सरणियों की सरणी (Array of Arrays) प्रतिनिधित्व देखेंगे। इस रूप में, हमारे पास एक सरणी होती है जो कई सरणियों के प्रारंभिक पतों (starting addresses) को रखती है। प्रतिनिधित्व नीचे जैसा दिखेगा: यह आकार [7 x 8] का एक द्वि-आय