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

डेटा संरचना में व्यंजक ट्री बनाने का एल्गोरिदम (Algorithm to construct an Expression Tree)


व्यंजक ट्री (Expression trees)

व्यंजक ट्री वे हैं जिनमें पत्ती नोड्स में संचालित होने वाले मान होते हैं, और आंतरिक नोड्स में वह ऑपरेटर होता है जिस पर पत्ती नोड का संचालन किया जाएगा।

उदाहरण

4 + ((7 + 9) * 2) का व्यंजक ट्री निम्नानुसार होगा:

डेटा संरचना में व्यंजक ट्री बनाने का एल्गोरिदम (Algorithm to construct an Expression Tree)

व्यंजक ट्री बनाने का एल्गोरिदम

मान लीजिए T व्यंजक ट्री है।

If T is not NULL:

If T->data is an operand:

return T.data

A = solve(T.left)

B = solve(T.right)

--> Calculate operator for 'T.data' on A and B, and call recursively,

return calculate(A, B, T.data)

व्यंजक ट्री कैसे बनाएं?

दिए गए व्यंजक के लिए व्यंजक ट्री बनाने के लिए, हम आमतौर पर स्टैक डेटा संरचना का उपयोग करते हैं।

प्रारंभ में हम दिए गए पश्चसर्ग व्यंजक पर पुनरावृति करते हैं और नीचे दिए गए चरणों का पालन करते हैं -

  • यदि दिए गए व्यंजक में एक ऑपरेंड मिलता है, तो उसे स्टैक में पुश करें। यह व्यंजक ट्री की जड़ बन जाएगा।
  • यदि व्यंजक में एक ऑपरेटर को दो मान मिलते हैं, तो उन्हें व्यंजक ट्री में उसके बच्चे के रूप में जोड़ें, और उन्हें वर्तमान नोड में पुश करें।
  • चरण-1 और चरण-2 को तब तक दोहराएं जब तक हम दिए गए व्यंजक पर पूरा नहीं कर लेते।
  • अब जांचें कि क्या प्रत्येक रूट नोड में केवल ऑपरेंड हैं और प्रत्येक चाइल्ड नोड में केवल मान हैं।

  1. डेटा स्ट्रक्चर में BSP ट्रीज़ डेटा स्ट्रक्चर में BSP ट्रीज़

    कंप्यूटर साइंस में, बाइनरी स्पेस पार्टीशनिंग (BSP) नामक एक विधि को हाइपरप्लेन्स (Hyperplanes) को पार्टीशन के रूप में लागू करके एक स्पेस को दो कन्वेक्स सेट्स (Convex Sets) में पुनरावर्ती रूप से उप-विभाजित (Recursively Subdividing) करने के लिए लागू किया जाता है। उप-विभाजन की यह प्रक्रिया क्षेत्र में व

  1. डेटा स्ट्रक्चर में रेंज ट्रीज़ डेटा स्ट्रक्चर में रेंज ट्रीज़

    रेंज ट्री (Range Tree) को बिंदुओं की सूची रखने के लिए एक क्रमबद्ध ट्री डेटा स्ट्रक्चर (Ordered Tree Data Structure) के रूप में परिभाषित किया जाता है। यह दिए गए रेंज के भीतर सभी बिंदुओं को कुशलतापूर्वक पुनः प्राप्त करने की अनुमति देता है, और आमतौर पर दो या अधिक आयामों में लागू किया जाता है। यह kd-ट्र

  1. डेटा स्ट्रक्चर में वर्चुअल ट्री में स्प्ले (Splay in Virtual Tree) डेटा स्ट्रक्चर में वर्चुअल ट्री में स्प्ले (Splay in Virtual Tree)

    वर्चुअल ट्री में, कुछ एज को सॉलिड (Solid) माना जाता है और कुछ को डैश्ड (Dashed)। सामान्य स्प्लेिंग (Splaying) केवल सॉलिड ट्रीज़ में की जाती है। वर्चुअल ट्री में नोड y पर स्प्ले करने के लिए, निम्न विधि लागू की जाती है। एल्गोरिदम ट्री को तीन बार देखता है, प्रत्येक पास में एक बार, और इसे बदलता है। पहल