Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Extend the buildParseTree function to handle mathematical expressions that do not have spaces between every character. Here is the function: from pythonds.basic.stack import Stack from

Extend the buildParseTree function to handle mathematical expressions that do not have spaces between every character.

Here is the function:

from pythonds.basic.stack import Stack from pythonds.trees.binaryTree import BinaryTree

def buildParseTree(fpexp): fplist = fpexp.split() pStack = Stack() eTree = BinaryTree('') pStack.push(eTree) currentTree = eTree for i in fplist: if i == '(': currentTree.insertLeft('') pStack.push(currentTree) currentTree = currentTree.getLeftChild() elif i not in ['+', '-', '*', '/', ')']: currentTree.setRootVal(int(i)) parent = pStack.pop() currentTree = parent elif i in ['+', '-', '*', '/']: currentTree.setRootVal(i) currentTree.insertRight('') pStack.push(currentTree) currentTree = currentTree.getRightChild() elif i == ')': currentTree = pStack.pop() else: raise ValueError return eTree

pt = buildParseTree("( ( 10 + 5 ) * 3 )") pt.postorder()

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Oracle RMAN For Absolute Beginners

Authors: Darl Kuhn

1st Edition

1484207637, 9781484207635

More Books

Students also viewed these Databases questions

Question

(2) How stretching are these goals?

Answered: 1 week ago