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

n तत्वों के लिए O(1) ऑपरेशन वाला डेटा स्ट्रक्चर

यहां हम एक ऐसे डेटा स्ट्रक्चर को देखेंगे जिसमें n तत्व हों और सभी ऑपरेशन O(1) समय में हों। यानी ऑपरेशन को निष्पादित करने में लगने वाला समय स्थिर होगा।

यह डेटा स्ट्रक्चर n तत्वों (0 से n-1 तक) को धारण करेगा। डेटा किसी भी क्रम में हो सकता है। सम्मिलन, विलोपन और खोज O(1) समय लेंगे।

इस समस्या को हल करने के लिए हम एक बूलियन सरणी का उपयोग करेंगे। यह इंगित करेगा कि स्थिति i पर आइटम मौजूद है या नहीं। यदि आइटम मौजूद है, तो यह 1 रखेगा, अन्यथा 0।

एल्गोरिदम

प्रारंभिकरण (n)

begin
    बूलियन सरणी के सभी तत्वों को 0 से भरें
end

सम्मिलन (i)

begin
    इंडेक्स i पर तत्व को 1 (सत्य) पर सेट करें
end

विलोपन (i)

begin
    इंडेक्स i पर तत्व को 0 (असत्य) पर सेट करें
end

खोज (i)

begin
    स्थिति i पर आइटम लौटाएं
end

उदाहरण

// प्रारंभिकरण
void init(int n) {
    bool dataStructure[n];
    for (int i = 0; i < n; i++)
        dataStructure[i] = 0;
}

// सम्मिलन
void insert(unsigned i) {
    dataStructure[i] = 1;
}

// विलोपन
void delete(unsigned i) {
    dataStructure[i] = 0;
}

// खोज
bool search(unsigned i) {
    return dataStructure[i];
}
  1. डेटा स्ट्रक्चर में कंप्रेस्ड क्वाडट्रीज़ और ऑक्ट्रीज़ डेटा स्ट्रक्चर में कंप्रेस्ड क्वाडट्रीज़ और ऑक्ट्रीज़

    कंप्रेस्ड क्वाडट्रीज़ (Compressed Quadtrees) प्रत्येक उपविभाजित सेल (Subdivided Cell) से संबंधित नोड को स्टोर करते समय, हम बहुत सारे खाली नोड्स स्टोर कर सकते हैं। ऐसे विरल ट्रीज़ (Sparse Trees) के आकार को कम करना केवल उन सबट्रीज़ को स्टोर करके संभव है जिनके लीफ में दिलचस्प डेटा होता है (यानी महत्वपू

  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 की सब-लिस्ट होने के। उदाहरण के लिए, चित्र में सूची पर विचार कर