Kundali IQ

होम › मुफ़्त नोट्स › कक्षा 12 कंप्यूटर विज्ञान › स्टैक

स्टैक – कक्षा 12 कंप्यूटर विज्ञान नोट्स, महत्वपूर्ण प्रश्न और MCQ

NCERT कक्षा 12 कंप्यूटर विज्ञान, अध्याय 3। नोट्स, मुख्य शब्द, उत्तर सहित महत्वपूर्ण प्रश्न और MCQ।

Read in English

अध्याय का सार

Stack एक linear data structure है जिसमें elements एक ही सिरे, जिसे top कहते हैं, से जोड़े और हटाए जाते हैं। यह Last In First Out (LIFO) सिद्धांत का पालन करता है। मुख्य operations PUSH (डालना) और POP (हटाना) हैं। Python में stacks lists से implement किए जा सकते हैं, और इनका प्रयोग undo operations, function calls, browser history और expression evaluation, जैसे infix expressions को postfix में बदलने और postfix expressions के मूल्यांकन, में होता है।

Stack और उसके operations

  • Stack में सबसे अंत में डाला गया element सबसे पहले हटाया जाता है (LIFO), जैसे प्लेटों का ढेर।
  • PUSH top पर element जोड़ता है; भरे हुए fixed-size stack में push करने का प्रयास overflow है। POP top element हटाता है; ख़ाली stack से pop करने का प्रयास underflow है। PEEK या TOP बिना हटाए top element लौटाता है, और isEmpty जाँचता है कि stack ख़ाली है या नहीं।
  • Python में list का प्रयोग होता है: PUSH हेतु stack.append(x), POP हेतु stack.pop(), PEEK हेतु stack[-1] और isEmpty हेतु len(stack) == 0।

अनुप्रयोग और expressions

  • अनुप्रयोग: string उलटना, editors में undo/redo, browsers में back button, function call प्रबंधन और मेल खाते कोष्ठकों की जाँच।
  • Expressions infix (A + B), prefix या Polish (+ A B) और postfix या reverse Polish (A B +) notation में लिखे जा सकते हैं; postfix के मूल्यांकन में कोष्ठकों या precedence नियमों की आवश्यकता नहीं होती।
  • Infix से postfix में बदलने में precedence के अनुसार operators हेतु stack का प्रयोग होता है; postfix मूल्यांकन में operands push किए जाते हैं और operator पढ़ने पर दो operands pop कर operator लगाकर परिणाम push किया जाता है। उदाहरण के लिए, 5 3 + 2 * का मान 16 है।

मुख्य शब्द

Stack
LIFO का पालन करने वाला linear data structure
LIFO
Last In First Out
PUSH
stack के top पर element डालने का operation
Underflow
ख़ाली stack से pop करने का प्रयास
Postfix notation
वह expression जिसमें operator अपने operands के बाद आता है

उत्तर सहित महत्वपूर्ण प्रश्न

Stack में overflow और underflow में क्या अंतर है?2 अंक

Overflow तब होता है जब पहले से भरे stack (fixed-size stack) में element push करने का प्रयास किया जाता है। Underflow तब होता है जब ख़ाली stack से element pop करने का प्रयास किया जाता है। Python lists में overflow शायद ही होता है क्योंकि lists गतिशील रूप से बढ़ती हैं।

Stack में elements PUSH और POP करने हेतु Python functions लिखिए।3 अंक

def push(stack, x): stack.append(x)। def pop_item(stack): if len(stack) == 0: print('Underflow'); return None, else: return stack.pop()। List का अंत stack के top का कार्य करता है।

उदाहरण सहित समझाइए कि postfix expression के मूल्यांकन में stack का प्रयोग कैसे होता है।5 अंक

Postfix notation में operators अपने operands के बाद आते हैं, इसलिए expression का मूल्यांकन बिना कोष्ठकों या precedence नियमों के stack से बाएँ से दाएँ किया जा सकता है। Algorithm: expression को बाएँ से दाएँ scan करें; symbol operand हो तो उसे stack पर push करें; operator हो तो top के दो elements pop करें, जहाँ पहली बार pop हुआ right operand और दूसरी बार pop हुआ left operand है, operator लगाएँ, और परिणाम वापस push करें; पूरा expression scan होने के बाद stack में बचा एकमात्र मान परिणाम है। उदाहरण: 4 5 + 3 2 - * का मूल्यांकन करें। 4 पढ़ें: push, stack [4]। 5 पढ़ें: push, stack [4, 5]। + पढ़ें: 5 और 4 pop करें, 4 + 5 = 9 निकालें, push करें, stack [9]। 3 पढ़ें: push, stack [9, 3]। 2 पढ़ें: push, stack [9, 3, 2]। - पढ़ें: 2 और 3 pop करें, 3 - 2 = 1 निकालें, push करें, stack [9, 1]। * पढ़ें: 1 और 9 pop करें, 9 * 1 = 9 निकालें, push करें, stack [9]। परिणाम 9 है, जो infix में (4 + 5) * (3 - 2) के बराबर है। यदि अंत में stack में एक से अधिक element हों, या किसी operator को दो से कम operands मिलें, तो expression अमान्य है। Python में stack append() और pop() का प्रयोग करने वाली list हो सकता है।

त्वरित पुनरावृत्ति

  • LIFO सिद्धांत।
  • PUSH, POP, PEEK, overflow, underflow।
  • Python lists से implementation।
  • Infix, prefix, postfix; रूपांतरण और मूल्यांकन।

परीक्षा सुझाव

  • याद रखें: Python list stack हेतु append() = PUSH, pop() = POP।
  • Postfix मूल्यांकन में दूसरी बार pop हुआ मान left operand है।

अभ्यास MCQ

  1. Stack किस सिद्धांत का पालन करता है

    1. FIFO
    2. LIFO
    3. random access
    4. priority order
    उत्तर देखें

    उत्तर: (b) LIFO. Last In First Out।

  2. Stack में element डालना कहलाता है

    1. POP
    2. PEEK
    3. PUSH
    4. ENQUEUE
    उत्तर देखें

    उत्तर: (c) PUSH. यह top पर जोड़ता है।

  3. ख़ाली stack से element हटाने का प्रयास उत्पन्न करता है

    1. overflow
    2. searching
    3. sorting
    4. underflow
    उत्तर देखें

    उत्तर: (d) underflow. Pop करने को कुछ नहीं है।

  4. Stack के रूप में प्रयुक्त Python list हेतु PUSH operation है

    1. insert(0, x)
    2. remove(x)
    3. append(x)
    4. sort()
    उत्तर देखें

    उत्तर: (c) append(x). Elements अंत में जोड़े जाते हैं।

  5. A + B * C का postfix रूप है

    1. A B + C *
    2. A B C * +
    3. + A * B C
    4. A B C + *
    उत्तर देखें

    उत्तर: (b) A B C * +. * की precedence अधिक है।

  6. कौन-सा अनुप्रयोग stack का प्रयोग करता है

    1. क्रम से printing jobs
    2. editor का undo feature
    3. ticket counter queue
    4. round-robin CPU scheduling
    उत्तर देखें

    उत्तर: (b) editor का undo feature. अंतिम क्रिया पहले undo होती है।

  7. Postfix expression 6 2 / 3 * का मान है

    1. 1
    2. 4
    3. 9
    4. 12
    उत्तर देखें

    उत्तर: (c) 9. 6 / 2 = 3, फिर 3 * 3 = 9।

  8. यदि 1, 2, 3 क्रम से push किए जाएँ और फिर दो POP operations हों, तो शेष element है

    1. 3
    2. 2
    3. 1
    4. कोई नहीं
    उत्तर देखें

    उत्तर: (c) 1. 3 और 2 पहले pop होते हैं।

सभी अध्याय: कक्षा 12 कंप्यूटर विज्ञान

यह सामग्री Kundali IQ ने पुनरावृत्ति में मदद हेतु मानक, स्थापित तथ्यों से लिखी है। यह NCERT का आधिकारिक प्रकाशन नहीं है; अपनी पाठ्यपुस्तक भी अवश्य पढ़ें।