The prefix infix suffix expression in computer is an important application of data structure stack, they are the notation of the expression, but the relative position is not the same as the name implies, the prefix expression refers to the symbols are in the operand before the infix expression refers to operators are o
They are all notation for expressions, so they are also referred to as prefix notation, infix notation, and postfix notation. The difference between them is that the operator is relative to the position of the operand: the operator of the prefix expression precedes the operand associated with it, and the infix and suff
1. DefinitionThe different notation for an expression differs in the position of the operator relative to the operand :
Infix: operator in the middle of the operand: (3 + 4) x5-6. The way people are used to express
Prefix: operator before operand: for example-X + 3 4 5 6. Computer convenient operation way: from right to left data into the stack, encountered operator, pop stack top two number op
They are all notation for expressions, so they are also referred to as prefix notation, infix notation, and postfix notation. The difference between them is that the operator is relative to the position of the operand: the operator of the prefix expression precedes the operand associated with it, and the infix and suff
They are all notation for expressions, so they are also referred to as prefix notation, infix notation, and postfix notation. The difference between them is that the operator is relative to the position of the operand: the operator of the prefix expression precedes the operand associated with it, and the infix and suff
1. Algorithm Ideas convert to suffix: Iterates the infix expression from left to right, encountered operand, output, encountered operator, current operator priority greater than greater than or equal to operator of the current operator, the current operator into the stack. conversion to prefix: from right to left to iterate
-------------------------------- suffix turn infix ----------------------------------------------1, set up a stack, from left to right scan the suffix expression, encountered the operation arithmetic is pressed into the stack;2, encountered the operator on the stack top two elements out of the stack, perform operations, the resulting results as a new operator and then press into the stack;3, go to the end of the expression in turn;Example: Convert the
The difference between them is that the operator is relative to the position of the operand.Converts an infix expression to a prefix expression:Follow these steps:(1) Initialize two stacks: operator stack S1 and stack S2 for storing intermediate results;(2) Scanning infix expression from right to left;(3) When the operand is encountered, it is pressed into the S2
1. Relationship Between Expressions and Binary Trees
Prefix expressions correspond to the forward traversal of Binary trees;
The infix expression corresponds to the ordinal traversal of a binary tree;
Suffix expressions correspond to post-sequential traversal of Binary trees;
Ii. Generate a binary tree based on the infix expression
Problem description:
Prefix-to-infix example, with extra parentheses allowed:
* + 4 2 + 3 6 => (4 + 2) * (3 + 6)
-+/3 4 2 5 => (3/4 + 2)-5
-+ 3/4 2 5 => (3 + 4/2)-5
Thought 1 (recursion ):
1. Scan from left to right
2. If an operator is encountered, a recursive solution is used to return a new string. If a number is encountered, a numeric string is directly returned. For example:
Case '*':
Return
Suffix:
That is, the reverse Polish style.
The inverse Polish formula is a method of expression invented by Lukasiewicz, a Polish logologist. In this way, operators are written after the operation object. For example, A + B is written as AB +, which is also called a suffix. The advantage of this notation is that it is calculated based on the sequence of operation objects and operators, without the need to use parentheses, It is also easy to evaluate using machinery. For the expression X: =
The reason for manual deduction is, of course, for the exam. Amount.
For programming implementation, please search by yourself. I did not find any of the following content, so I wrote it down. One was a memo, and the other helped to save some time for the children's shoes preparing for the exam.
Few gossip, and listen to the text:
[1]Evaluate:
1.1 infix evaluation:(Needless to say, You know)
Before 1.2, suffix type evaluation:The program requires a st
infix expression Suffix expression:(1+3)/8*3-5=Constructs an empty operator stack. First press inside a ' = ' (easy to compare behind). The infix expression is then scanned from left to right, if it is an operand, the direct output can be, if the left parenthesis is directly into the stack, if the closing parenthesis, then the stack, until the opening parenthesis and open the left parenthesis, if it is othe
successfully obtained. Therefore, the stream pointer is placed after the number {stream = lookup;} return expression;
You have to write your own codes for the infix. After I write a prefix for the large Prefix Code of vczh, I write a infix for myself. We can easily draw inspiration from it, find the core of recursiv
Topic Source HTTP://WWW.NOWCODER.COM/QUESTIONTERMINAL/7FB8BA37F48C4FEAAF518F221CAEFCB4Infix expression (a+b) *c* (d-e/f) turn suffix yes?In fact, look at the explanation, here the so-called prefix, infix and suffix expression in the two-fork tree in the preamble, middle order, post-order traversal almost, meaning is a meaning.For this kind of problem, we can draw a two-fork tree suitable for the topic, and
Tags: blog HTTP ar SP problem log html bs ef
Problem description:
Example of prefix fix:
(4 + 2) * (3 + 6) => * + 4 2 + 3 6
(3/4 + 2)-5 =>-+/3 4 2 5
(3 + 4/2)-5 =>-+ 3/4 2 5
If the expression is drawn into a tree structure, the prefix, infix, and suffix are the first, middle, and last traversal of the tree.
-----------------*------------------
---
infix expression1* (2+3)This is an infix expression, operators between numbers, computer processing prefix expressions and suffix expressions is easier, but processing infix expressions is not easy, so we need to use Shunting-yard algorithm (dispatch field
Calculation: The use of postfix expression to calculate the specific approach: to build a stack s. Read the expression from left to right, if the operand is read into the stack s, if you read the N-ary operator (that is, the operator that requires the number of arguments N), the top-down N-items are fetched by the operand, and the result of the operation is replaced by the N of the top of the stack and pressed into the stack s. If the suffix expression is not read, the above procedure is repeate
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.