什么是评估数学表达式的最佳算法?我希望能够优化这一点,因为我可能有一个带有各种变量的公式,我可能需要使用不同的变量评估数百次.所以基本上如果我可以最初解析公式以便以某种方式对其进行优化,然后我可以根据需要将变量传递给此优化版本,每次为我生成结果.
我将用Delphi或C#编写这个.我已经通过使用分流码算法编写了类似的东西,但每次我需要计算相同的公式时,我必须经历解析阶段.必须有更好的方法来做到这一点.
我正在寻找一种可以用来评估数学表达式的算法.我已经看到了几个关于SO的问题,但是答案是C#/ Delphi或python特有的.我需要用C编写算法:)
我试图解决的问题是给用户输入,如
3*(2*x + 1)/x
Run Code Online (Sandbox Code Playgroud)
我可以评估任何x值的表达式.
有什么算法可以做到这一点?如果您想建议一个已经这样做的库,那么我更喜欢C库
谢谢
使用Python,我将如何阅读(来自字符串,文件或url)数学表达式(1 + 1是一个好的开始)并执行它?
除了抓取一个字符串,文件或网址,我不知道从哪里开始.