gpt4 book ai didi

algorithm - 难以理解如何处理调车场算法的输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:44:14 24 4
gpt4 key购买 nike

我一直在查看维基页面:http://en.wikipedia.org/wiki/Shunting-yard_algorithm

我已经使用代码示例构建了第一部分,基本上我目前可以转:

3 + 4 * 2/( 1 - 5 ) ^ 2 ^ 3 转换为 3 4 2 * 1 5 − 2 3 ^ ^/+

但是我不知道怎么用3 4 2 * 1 5 − 2 3 ^ ^/+得到3.00012207

wiki 上的示例代码和解释对我来说没有任何意义。

有人可以解释一下如何评估 3 4 2 * 1 5 − 2 3 ^ ^/+ 并得出答案。提前致谢。我不需要代码示例,只需要很好的解释或示例的分解。

这并不重要,但我正在使用 .net C#。

最佳答案

调车场算法的目的是它的输出在Reverse Polish Notation中。 ,这很容易评估:

  • 创建一个堆栈来保存值
  • 当还有逆波兰符号输入时:
    • 阅读一个输入项
    • 如果是一个值,就把它压入栈中
    • 否则为操作;从堆栈中弹出值,对这些值执行操作,将结果推回
  • 当没有剩余输入时,如果表达式的格式正确,则堆栈中应该只有一个值;这是评估结果。

关于algorithm - 难以理解如何处理调车场算法的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8344460/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com