1. This project deals with a simple kind of expression tree, in which there are two kinds of nodes: (a) Leaf nodes, which contain a real number as their element; (b) Non-leaf nodes, which contain...


1. This project deals with a simple kind of expression tree, in which there are two kinds of nodes:


(a) Leaf nodes, which contain a real number as their element;


(b) Non-leaf nodes, which contain either the character '+' or the character '*' as their element and have exactly two children.


For this project, implement a class for expression trees, including operations for building expression trees. Also include a recursive function to “evaluate” a non-empty expression tree using these rules:


(a) If the tree has only one node (which must be a leaf), then the evaluation of the tree returns the real number that is the node’s element;


(b) If the tree has more than one node and the root contains '+', then first evaluate the left subtree, then evaluate the right subtree and add the results. If the root contains '*', then evaluate the two subtrees and multiply the results.


For example, consider the small expression tree shown to the right. The left subtree evaluates to 3+7, which is 10. The right subtree evaluates to 14. So the entire tree evaluates to 10*14, which is 140.








Nov 29, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here