APPLICATION OF STACKS
Stack को main data structure की तरह use किया जाता है इसकी कुछ application निम्न है
1. Stack को function के बीच parameters pass करने के लिए use किया जाता है
2. High-level programming language जैसे Pascal, c, etc. Stack को recursion के लिए भी use में लेते हैं
Stack को बहुत सी problems को solved करने के लिए भी use किया जाता है
मुख्यतः 3 notation में stack को प्रदर्शित किया जाता है। stack तीन प्रकार के होते है
(1) Prefix notation
(2) Infix notation
(3) Postfix notation
Infix:- Normally किसी भी expression को या instruction को बनाने के लिए 2 value की आवश्यकता होती है
(i) Operand
(ii) Operator
अतः operator व operand से मिलकर एक expression या instruction बनती है जैसे A+B यहाँ A ओर B operand है तथा + एक operator है infix में operands के बीच operators होते हैं
Precedence of operator:-
Highest exponentiation(↑)
Next highest multiplication (*) and division (/)
Lowest Addition (+) and subtraction (-)
Prefix:-
prefix वह notation है जहाँ पर operator operand से पहले आता है
जैसे A+B
Postfix notation:-
यह वह notation है जहाँ operator operand के बाद आते हैं जैसे AB+
Postfix notation को suffix notation या reverse police notation भी कहा जाता है
Conversion of notation:- यदि किसी expression को infix notation में लिखा गया है और इन्हें solve करना है तो इसके लिए bod-mass के rule को use किया जाता है
जैसे A+B*C यह A=4, B=3 ओर C= 7
4+3 *7= 7 * 7=49
उपरोक्त expression का solution गलत है क्योंकि Bod-mass के हिसाब से पहले * होना चाहिए बाद में edition होना चाहिये ।
Conversion into infix to post-fix
A+B*C (INFIX NOTATION)
A+(B*C)
A+(BC*)->(B*C को post-fix notation में बदला गया)
अब BC* एक operand है और A एक operand है अतः अब इसे post-fix notation में convert किया जायेगा
ABC*+-> यह A+B* का post-fix notation है
1. Example of postfix notation:– A+[(B+C)+(D+E)*F]/G के लिए postfix form प्रदान कीजिए।
Solution:-
सबसे पहले bracket को solve किया जायेगा
A+[(BC+)+(DE+)*F]/G
Bracket के अंदर multiplication की precedence high है अतः पहले multiplication को solve किया जायेगा।
A+[(BC+)+(DE+F*]/G
A+[BC+DE+F*+]/G
Plus व division के बीच division की precedence high है अतः
A+BC+DE+F*+G/
ABC+DE+F*+G/+
2. A+B- C के लिये postfix form प्रदान कीजिए
Solution:-
(A+B)-C*
(AB+)-C
AB+C-
3. A*B+C/D
यह multiplication की precedence high है अतः सबसे पहले multiplication को solve किया जायेगा
Solution:-
(A*B)+C/D
(AB*)+C/D
Divide की precedence high है।
(AB*)+(C/D)
(AB*)+(CD/)
AB*CD/+(postfix notation)
4. (A+B)/(C-D)
वेसे तो division की precedence high है परन्तु उससे भी high bracket की precedence होती है अतः सबसे पहले bracket को solve किया जायेगा।
(AB+)/(CD-)
AB+CD-/
5. (A+B)*C/D+E^F/G
यहाँ सबसे high precedence (^) operator की है अतः सबसे पहले bracket को ओर उसके बाद (^) को solve किया जायेगा
(AB+)*C/D+E^F/G
(AB+) *C/D+EF^/G
AB+C*/D+EF^/G
AB+C*D/+EF^G/
AB+C*D/EF^G/+
Conversion into infix to prefix notation
Prefix expression में पहले operator आते है तथा बाद में operands को लिखा जाता है prefix को निम्न प्रकार से solve करते है
1. A*B+C
Multiplication की precedence high है अतः पहले multiplication को solve किया जायेगा।
(A*B)+C
(*AB)+C
+*ABC
2. A/B^C+D
^operator की precedence high है अतः सबसे पहले ^ को solve किया जायेगा।
A/(B^C)+D
A/(^BC)+D
/A^BC+D
+/A^BCD
3. (A-B/C)*(D*E-F)
Left to Right associativity के according सबसे पहले first bracket को solve किया जायेगा। इसके अंदर भी operator precedence के according solution किया जायेगा
(A-(B/C))*((D*E)-F)
(A-/BC)*((D*E)-F)
-A/BC*(*DE-F)
-A/BC*(-*DEF)
*-A/BC-*DEF
Note:- ये पोस्ट आपको कैसी लगी आप कमेंट कर के बताईये !अगर आपको कुछ पूछना या अपनी राय देनी हो तो आप हमे कमेंट या [email protected] पे ईमेल करके बता सकते है हम पूरी कोसिस करेंगे की आपका रिप्लाई जल्दी से जल्दी दे सखे ….