六十四、前缀,后缀,中缀表达式转化求值问题

举报
毛利 发表于 2021/07/15 02:13:26 2021/07/15
【摘要】 @Author:Runsen 编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化。 ---- Runsen 算法,一门既不容易入门,也不容易精通的学问。 上次介绍如何利用栈实现中缀表达式求值,如果我是出题官,当然要考前缀,后缀,中缀表达式相互转换,然后就变成了利用栈实现前缀和后缀表达式求值。 前缀,后缀,中缀表达式相互转换及...

@Author:Runsen

编程的本质来源于算法,而算法的本质来源于数学,编程只不过将数学题进行代码化。 ---- Runsen

算法,一门既不容易入门,也不容易精通的学问。

上次介绍如何利用栈实现中缀表达式求值,如果我是出题官,当然要考前缀,后缀,中缀表达式相互转换,然后就变成了利用栈实现前缀和后缀表达式求值。

前缀,后缀,中缀表达式相互转换及其运算,可以说是计算机考研的一个重点。

首先看下面所示表格:

中序表达式 2*3/(2-1)+3*(4-1)
前序表达式 +/*23-21*3-41
后序表达式 23*21-/341-*+

注意:前序表达式和后序表达式是没有扩号

这篇文章有对应的图解:https://mp.weixin.qq.com/s/NRbFXZAXEUeXhKKYY7CReg

中缀表达式转前缀表达式求值

中缀表达式转前缀表达式的规则:

1、反转输入字符串,如“2*3/(2-1)
  
 

    文章来源: maoli.blog.csdn.net,作者:刘润森!,版权归原作者所有,如需转载,请联系作者。

    原文链接:maoli.blog.csdn.net/article/details/111193756

    【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。