问题标签 [prefix-notation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 将中缀表达式转换为前缀一的问题
在这里,我将中缀表达式转换为前缀表达式。
对于某些测试用例,我的结果是完美的。
但是对于某些测试用例,我得到的输出根据某些站点是正确的,但根据其他站点是错误的。所以我对我的代码是否正确感到两难。
例如,如果中缀表达式是:
然后根据我的代码输出是:
但有些网站提到输出为:
对于相同的输入。
java - Match two nested logical AND OR expression tree objects
I need to compare a given logical expression with another in java, to identify if both are the same.
For example, consider an expression as ((a&b)&(c|d)&(e&f))
and other as ((a&e)&(c|d)&(b&f))
, they both are equivalent. Consider (a&(f&(b&e))&(c|d))
: this is also equivalent. Furthermore, this expressions can be nested. I thought of converting this to prefix notations, but can't find a proper way through.
Expressions is a recursive class object with expression-type as AND/OR and an array of it's child expressions
ex. for above first expression:
Is there any way to simplify expressions and compare them?
data-structures - 堆栈和算术评估
堆栈被认为是算术评估的理想数据结构。为什么会这样?
为什么我们甚至需要一个用于算术评估的数据结构?我已经研究了一段时间,但仍然感到困惑。我不明白前缀和后缀表达式的用途是什么,因为中缀表达式的可读性很强。
javascript - JS 中的双 '+' 符号与 !NaN 混淆
为波兰表示法工作,我正在添加一种方法来区分我得到的字符串是否是数字,使用 isNaN 函数。这可以正常工作,直到您将 ++ 添加到字符串中。
'* 1 2 30 +'
它的输出按预期工作[1,2,30]
但是,当我开始在运算符周围移动时,当我在数组的开头得到一个 NaN 时,[NaN, 1,2,30]
这令人难以置信。有关如何解决此问题或其他解决方法的任何想法?
python - 命题和时间逻辑表达式的前缀/波兰符号?
我有命题和时间逻辑表达式,例如:
我想用前缀表示法来表示它们,即“phi1 U phi2”将表示为“U phi1 phi2”。关于使用哪种数据类型来表示“U phi1 phi2”的任何想法?我正在使用 python,我知道我可以将它表示为一个字符串,但我想知道是否有更有效的方法,因为我需要单独访问表达式的每个术语。还尝试将其表示为("U","phi1","phi2")
可以正常工作,但对于更复杂的公式,它会在“()”上变得很重。
提前致谢
c - 如何在c中反向书写
这是我的第一个问题,所以请原谅非技术语言
,我正在制作一个将中缀转换为前缀和后缀的程序。我对正在工作的后缀做了中缀。现在,当我想中缀前缀时,我们需要反转表达式。所以我想从相反的方向阅读中缀。
以上是后缀中缀的一部分,其中e
是扫描字符串的指针。在 pre 的中缀中,我计划将 e++ 替换为 e-- 但正如在第一行中我们看到它直接打印 char 所以我需要反转方向
例如。
咩
+
咩
java - 为什么流行的编程语言如 c、c++、java、python、PHP 不支持后缀(反向波兰表示法)或前缀表达式?
注意:- 我不是在谈论增量和减量运算符。我说的是前缀和后缀表达式。
python中的示例:-
我知道 python 不支持前缀或后缀表达式。但是想象一下如果python支持后缀表达式,我可以这样写函数
我在此链接中读到评估后缀表达式比中缀表达式更快
- 计算中缀表达式所需的时间是 O(n^2) -> reason - 需要找到具有最高优先级的运算符。
- 评估后缀表达式所需的时间是 O(n) -> 原因 - 无需查找运算符的优先级。我们只需要从左到右进行评估。
如果是这种情况,那么为什么流行的编程语言(如 C、C++、Java、Python、Ruby 或 PHP)不原生支持后缀表达式呢?
debugging - 如何修改 Arm 装配中的字符串
我无法弄清楚如何在中缀表达式中添加空格,以便像 3+5 这样的东西会变成 3+5。我不断收到分段错误,我什至无法确定错误来自哪一行,因为由于某种原因,我也无法打印出任何内容。这是我的代码供参考:
c - 在中缀到前缀的程序中的 ac 函数中未返回反转字符串
下面是中缀到前缀转换的代码。我的代码工作正常,直到使用reverse
复制后不打印任何字符串的函数。我尝试使用for
循环复制反转的字符串,但结果保持不变,程序终止而没有给出正确的输出。函数中的打印语句在reverse
复制之前有效,但在复制之后无效。谁能让我知道问题出在哪里?