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

डेटा संरचना में सामान्यीकृत सूचियाँ (Generalized Lists)


इस अनुभाग में हम सामान्यीकृत सूचियों (Generalized Lists) के बारे में देखेंगे। एक सामान्यीकृत सूची L को n तत्वों (n ≥ 0) का एक परिमित अनुक्रम (finite sequence) के रूप में परिभाषित किया जा सकता है। प्रत्येक तत्व ei या तो एक परमाणु (atom - एकल तत्व) होता है या फिर एक अन्य सामान्यीकृत सूची। जो तत्व ei परमाणु नहीं हैं, वे L की उप-सूचियाँ (sub-lists) कहलाती हैं।

मान लीजिए L = ((A, B, C), ((D, E), F), G)। यहाँ L के तीन तत्व हैं: उप-सूची (A, B, C), उप-सूची ((D, E), F), और परमाणु G। फिर उप-सूची ((D, E), F) के दो तत्व हैं: एक उप-सूची (D, E) और परमाणु F।

C++ में सामान्यीकृत सूची नोड की संरचना

C++ में हम सामान्यीकृत सूची नोड को निम्न प्रकार से परिभाषित कर सकते हैं:

class GeneralizedListNode {
private:
    GeneralizedListNode *next;
    bool tag;
    union {
        char data;
        GeneralizedListNode *down;
    };
};

यदि tag सत्य (true) है, तो नोड द्वारा दर्शाया गया तत्व एक उप-सूची है। down पॉइंटर उप-सूची के पहले नोड की ओर इंगित करता है। यदि tag असत्य (false) है, तो तत्व एक परमाणु है। next पॉइंटर सूची में अगले तत्व की ओर इंगित करता है। सूची निम्न आरेख की तरह दिखाई देगी:

डेटा संरचना में सामान्यीकृत सूचियाँ (Generalized Lists)


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

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

  1. डेटा स्ट्रक्चर में अनुकूली मर्जिंग और सॉर्टिंग (Adaptive Merging and Sorting) डेटा स्ट्रक्चर में अनुकूली मर्जिंग और सॉर्टिंग (Adaptive Merging and Sorting)

    अनुकूली मर्ज सॉर्ट (ADAPTIVE MERGE SORT) अनुकूली मर्ज सॉर्ट (Adaptive Merge Sort) वही मर्ज करता है जो मर्ज सॉर्ट करता है। हालांकि, प्रारंभिक सब-लिस्ट का आकार एलिमेंट्स की सूची में क्रम (Ordering) के अस्तित्व पर निर्भर करता है बजाय आकार 1 की सब-लिस्ट होने के। उदाहरण के लिए, चित्र में सूची पर विचार कर

  1. डेटा स्ट्रक्चर में एडजेसेंसी लिस्ट डेटा स्ट्रक्चर में एडजेसेंसी लिस्ट

    ग्राफ एक नॉन-लीनियर डेटा स्ट्रक्चर है। यह नोड्स का उपयोग करके डेटा को दर्शाता है, और एज का उपयोग करके उनके संबंधों को। एक ग्राफ G के दो भाग होते हैं। वर्टेक्स, और एज। वर्टेक्स को सेट V द्वारा दर्शाया जाता है, और एज को सेट E के रूप में दर्शाया जाता है। तो ग्राफ नोटेशन G(V,E) है। आइए एक उदाहरण देखें त