关于转换答案中缀到后缀的困惑
confusion about conversion answer infix to postfix
我正在尝试从互联网上了解中缀到后缀的转换
我遇到了 2 个来源,随后我对同一个中缀表达式得到了不同的答案:
a/b^c+d*e/f-g+h
我想知道哪种算法是正确的
来源 1:https://youtu.be/IAxCAbcqQFA?t=803 如您所见,答案是
abc^/de*+f/g-h+
来源 2:https://raj457036.github.io/Simple-Tools/prefixAndPostfixConvertor.html
答案是
abc^/de*+f/gh+-
如果你想检查输出,你可以自己计算表达式。只需打开一个编辑器并使用一行作为堆栈:
答案一:abc^/de*+f/g-h+
a: a
b: a b
c: a b c
^: a b^c
/: a/b^c
d: a/b^c d
e: a/b^c d e
*: a/b^c d*e
+: a/b^c+d*e
f: a/b^c+d*e f
/: (a/b^c+d*e)/f
g: (a/b^c+d*e)/f g
-: (a/b^c+d*e)/f-g
h: (a/b^c+d*e)/f-g h
+: (a/b^c+d*e)/f-g+h
看来是错了。
你可以自己做第二个。也是错的。
从中缀到后缀的转换也很容易手动完成。您只需按正确的顺序执行运算符,将 arg op arg op arg...
更改为 arg arg op arg op...
这里我使用 []
来保存 already-converted 子表达式:
a/b^c+d*e/f-g+h
a/[bc^]+d*e/f-g+h
[abc^/]+[de*f/]-g+h
[abc^/de*f/+g-h+]
我正在尝试从互联网上了解中缀到后缀的转换 我遇到了 2 个来源,随后我对同一个中缀表达式得到了不同的答案:
a/b^c+d*e/f-g+h
我想知道哪种算法是正确的
来源 1:https://youtu.be/IAxCAbcqQFA?t=803 如您所见,答案是
abc^/de*+f/g-h+
来源 2:https://raj457036.github.io/Simple-Tools/prefixAndPostfixConvertor.html
答案是
abc^/de*+f/gh+-
如果你想检查输出,你可以自己计算表达式。只需打开一个编辑器并使用一行作为堆栈:
答案一:abc^/de*+f/g-h+
a: a
b: a b
c: a b c
^: a b^c
/: a/b^c
d: a/b^c d
e: a/b^c d e
*: a/b^c d*e
+: a/b^c+d*e
f: a/b^c+d*e f
/: (a/b^c+d*e)/f
g: (a/b^c+d*e)/f g
-: (a/b^c+d*e)/f-g
h: (a/b^c+d*e)/f-g h
+: (a/b^c+d*e)/f-g+h
看来是错了。
你可以自己做第二个。也是错的。
从中缀到后缀的转换也很容易手动完成。您只需按正确的顺序执行运算符,将 arg op arg op arg...
更改为 arg arg op arg op...
这里我使用 []
来保存 already-converted 子表达式:
a/b^c+d*e/f-g+h
a/[bc^]+d*e/f-g+h
[abc^/]+[de*f/]-g+h
[abc^/de*f/+g-h+]