算法描述 1、 重言式二叉树的建立,其实重言式二叉树的建立是一个逆过程,即倒着来建立。在这里用到了两个栈,一个是操作符栈,另一个是操作数栈,分别用来保存操作符和操作数。在读取表达式的时候如果是操作数则进栈。如果是操作符则把栈顶元素取出来和它比较。如果栈顶的优先级小,则入栈。如果等于则去括号。小于的话则把栈顶元素弹出来。在把操作数栈的元素弹出两个构建一棵小字树,再把建好的小字树的根压入到操作数栈里。重复操作,直到表达式结束,就建立了一棵重言式二叉树了。 2、 重言式二叉树的判别,在这里用到了一个数组来保存每一种组合下的各变元的取值。 在从二叉树里读到相应的变元时就用对应的值(1或0)进行判断。用一个记数器来记录。 最后用计数器的值和变元组合情况的总数来相比。如果计数器为0,那么表明是永假式。如果相等则是永真式。否则既不真也不假。
2022-05-03 20:26:05 112KB 言式算法
1