中缀转后缀表达式过程 真值表转换逻辑表达式?
真值表转换逻辑表达式?比较简单的一种是枚举输入量的组合值,所以计算复杂度是2^n,n表示变量个数。当然由于逻辑表达式比较简单,只有 *非最后还有括号,比四则运算要简单的多。一个建议是使用修改的链表或者
真值表转换逻辑表达式?
比较简单的一种是枚举输入量的组合值,所以计算复杂度是2^n,n表示变量个数。当然由于逻辑表达式比较简单,只有 *非最后还有括号,比四则运算要简单的多。一个建议是使用修改的链表或者栈实现,毕竟输出真值表要枚举每个变量的真值。
建议的方式如下:使用链表或者数组存储表达式,节点类型可以自定义:包含一个指向外部的引用或者连接表示这个变量当前的值。然后使用栈将中缀表达式转化为后缀表达式进行压栈计算。依照枚举组合一次遍历链表。
请参考:数据结构-栈-四则计算(中缀表达式、后缀表达式)、链表、以及《组合数学》组合生成算法