Write a function Infix_to_Prefix that takes an arithmetic expression in Infix notation as a parameter and returns the corresponding arithmetic expression with Prefix notation. Note: Question explanation, sample input and output are attached below. Kindly answer this question using python

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter6: User-defined Functions
Section: Chapter Questions
Problem 17PE
icon
Related questions
Question

Write a function Infix_to_Prefix that takes an arithmetic expression in Infix notation as a parameter and returns the corresponding arithmetic expression with Prefix notation.

Note: Question explanation, sample input and output are attached below. Kindly answer this question using python

>>> Infix_to_Prefix("( A + B ) * ( C + D
)")
* + AB + CD
>>> Infix_to_Prefix("A * B + C * D")
+ * AB * CD
Transcribed Image Text:>>> Infix_to_Prefix("( A + B ) * ( C + D )") * + AB + CD >>> Infix_to_Prefix("A * B + C * D") + * AB * CD
1. Converting Infix to Prefix
Infix, Postfix and Prefix notations are three different
but equivalent ways of writing expressions.
In Infix notations, operators are written in-between
their operands. However, in Prefix expressions, the
operator comes before the operands.
Assume the infix expression is a string of tokens
delimited by spaces. The operator tokens are *, /, +,
and -, along with the left and right parentheses, (
and ). The operand tokens are the single-character
identifiers A, B, C, and so on.
The following steps will produce a string of tokens in
prefix order:
1. Reverse the infix expression i.e A + B* C will
become C* B + A. Note while reversing each
(' will become ) and each ) becomes ('.
2. Obtain the postfix expression of the modified
expression I.e CB *A +.
3. Reverse the postfix expression. Hence in our
example prefix is + A * B C.
Transcribed Image Text:1. Converting Infix to Prefix Infix, Postfix and Prefix notations are three different but equivalent ways of writing expressions. In Infix notations, operators are written in-between their operands. However, in Prefix expressions, the operator comes before the operands. Assume the infix expression is a string of tokens delimited by spaces. The operator tokens are *, /, +, and -, along with the left and right parentheses, ( and ). The operand tokens are the single-character identifiers A, B, C, and so on. The following steps will produce a string of tokens in prefix order: 1. Reverse the infix expression i.e A + B* C will become C* B + A. Note while reversing each (' will become ) and each ) becomes ('. 2. Obtain the postfix expression of the modified expression I.e CB *A +. 3. Reverse the postfix expression. Hence in our example prefix is + A * B C.
Expert Solution
steps

Step by step

Solved in 4 steps with 6 images

Blurred answer
Knowledge Booster
Returning value from Function
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning