[功能请求] <title>添加带 JUnit 测试的 Postfix 表达式评估实现
你想提议什么?
特征描述
我提议在爪哇增加一个使用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测试。
我愿意执行这个 作为我的第一个开源贡献! 能不能请一个维护者把这个问题交给我?
· 问题细节
问题细节和算法概览
- 算法说明
算法:后缀(反波兰符号)表达式评价 类别:堆栈/表达式评价 语言: Java
- 算法如何发挥作用
给定一个有效的后缀表达式(例如代表2+3的"23+"),使用堆栈将其评价为单个数值结果.
密钥逻辑 :
用符号扫描表达式符号 。 如果标志是操作器,就把它推到堆上。 如果符是运算符,则将前两个操作符弹出,应用运算符,将结果推回堆栈. 在处理出所有符后,堆栈包含完全一个值——最终结果.
- 复杂性分析
时间复杂度:O(N)-单子通过表达. 空间复杂度:O(N)-最坏情况下的堆栈存储(所有操作).
- 计划文件和文件夹结构
src/main/java/com/theagorthms/stacks/postfixEvaluation.java (执行). src/test/java/com/thealthoms/stacks/postfix Evaluation Test.java(J股5测试套件)
补充信息
无回复( N)
内容来源: TheAlgorithms/Java