#7588·Java

[功能请求] <title>添加带 JUnit 测试的 Postfix 表达式评估实现

作者: 9ifrashaikh创建于 2026年9月1日更新于 2026年9月1日
标签enhancement

你想提议什么?

特征描述

我提议在爪哇增加一个使用Stack的Postfix(反波兰标记)表达式评价。

该寄存器目前拥有"InfixToPostfix.java"和"InfixToPrefix.java",将表达式转换为后缀/前缀注解,但没有实际评价后缀表达式来计算其结果的执行. 这将是对现有转换公用事业的自然而有益的补充。

拟议变动

我要补充一点:

后补 Evaluation.java 在src/main/java/com/理论/stacks/下 完整执行,并有明确的Javadoc解释(O(N) Time,O(N) Space). 支持标准运算符(+,-,*,/)和多位操作符. 正确处理无效的表达式 / 除以 0 。 后补 评估试验. java 在src/test/java/com/theorithms/stacks/下. 综合JUT 5测试套件,涵盖标准表达式,负结果,单操作表达式,以及无效的输入处理.

核查

我将保证所有代码都遵循项目的格式规则,并在开启公关前通过./gradlew测试/mvn测试。

我愿意执行这个 作为我的第一个开源贡献! 能不能请一个维护者把这个问题交给我?

· 问题细节

问题细节和算法概览

  1. 算法说明

算法:后缀(反波兰符号)表达式评价 类别:堆栈/表达式评价 语言: Java

  1. 算法如何发挥作用

给定一个有效的后缀表达式(例如代表2+3的"23+"),使用堆栈将其评价为单个数值结果.

密钥逻辑 :

用符号扫描表达式符号 。 如果标志是操作器,就把它推到堆上。 如果符是运算符,则将前两个操作符弹出,应用运算符,将结果推回堆栈. 在处理出所有符后,堆栈包含完全一个值——最终结果.

  1. 复杂性分析

时间复杂度:O(N)-单子通过表达. 空间复杂度:O(N)-最坏情况下的堆栈存储(所有操作).

  1. 计划文件和文件夹结构

src/main/java/com/theagorthms/stacks/postfixEvaluation.java (执行). src/test/java/com/thealthoms/stacks/postfix Evaluation Test.java(J股5测试套件)

补充信息

无回复( N)

内容来源: TheAlgorithms/Java