Umesh Prog5
Umesh Prog5
Jadhav
Practical No : 5(B)
Batch : S1
Roll No : 20
Branch : AI & DS
/*
Construct an expression tree from the given prefix expression eg. +--a*bc/def and traverse it using
post order traversal (non recursive) and then delete the entire tree.
*/
#include <iostream>
#include <cstring>
#include <cctype>
struct Node {
char data;
};
// Tree class
class Tree {
public:
};
class Stack {
Node *data[30];
int top;
public:
};
Stack s;
char c = prefix[i];
newNode->data = c;
if (isalpha(c)) {
s.push(newNode);
newNode->left = t1;
newNode->right = t2;
s.push(newNode);
top = s.pop();
if (!root) return;
s1.push(root);
while (!s1.isEmpty()) {
s2.push(node);
if (node->left) s1.push(node->left);
if (node->right) s1.push(node->right);
while (!s2.isEmpty()) {
deleteTree(node->left);
deleteTree(node->right);
delete node;
int main() {
Tree t;
char expr[20];
t.constructExpressionTree(expr);
t.nonRecursivePostOrder(t.top);
t.deleteTree(t.top);
return 0;
}
Output :
(base) computer@computer-ThinkCentre-neo-50s-Gen-3:~$ cd ..
Deleting node: a
Deleting node: b
Deleting node: c
Deleting node: *
Deleting node: -
Deleting node: d
Deleting node: e
Deleting node: f
Deleting node: /
Deleting node: -
Deleting node: +