व्यंजक ट्री (Expression trees)
व्यंजक ट्री वे हैं जिनमें पत्ती नोड्स में संचालित होने वाले मान होते हैं, और आंतरिक नोड्स में वह ऑपरेटर होता है जिस पर पत्ती नोड का संचालन किया जाएगा।
उदाहरण
4 + ((7 + 9) * 2) का व्यंजक ट्री निम्नानुसार होगा:

व्यंजक ट्री बनाने का एल्गोरिदम
मान लीजिए 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 को तब तक दोहराएं जब तक हम दिए गए व्यंजक पर पूरा नहीं कर लेते।
- अब जांचें कि क्या प्रत्येक रूट नोड में केवल ऑपरेंड हैं और प्रत्येक चाइल्ड नोड में केवल मान हैं।