数据结构课程设计--计算命题演算公式的真值
《数据结构课程设计--计算命题演算公式的真值》由会员分享,可在线阅读,更多相关《数据结构课程设计--计算命题演算公式的真值(21页珍藏版)》请在毕设资料网上搜索。
1、计算命题演算公式的真值计算命题演算公式的真值 一、一、需求分析需求分析 所谓命题演算公式是指由逻辑变量 (其值为TRUE 或FALSE) 和逻辑运算符 (AND) 、 (OR)和(NOT)按一定规则所组成的公式(蕴含之类的运算可以用、和来表 示) 。公式运算的先后顺序为、,而括号()可以改变优先次序。已知一个命题演 算公式及各变量的值,要求设计一个程序来计算公式的真值。 要求: (1)利用二叉树来计算公式的真值。首先利用堆栈将中缀形式的公式变为后缀形式; 然后根据后缀形式, 从叶结点开始构造相应的二叉树; 最后按后序遍历该树, 求各子树之值, 即每到达一个结点, 其子树之值已经计算出来, 当到
2、达根结点时, 求得的值就是公式之真值。 (2)逻辑变元的标识符不限于单字母,而可以是任意长的字母数字串。 (3)根据用户的要求显示表达式的真值表。 二、二、设计设计 1、设计思想设计思想 (1) 数据结构设计 (1) 线性堆栈 1 的数据结构定义 typedef char DataType ; typedef struct DataType stackMaxStackSize; int top; SeqStack1; 用线性堆栈主要是用来存储输入的字符,它的作用就是将中缀表达式变成后缀表达 式。 (2) 线性堆栈 2 的数据结构定义 typedef struct snode DataType
3、data; Struct snode *next; LSNode; 用于检测表达式的括号匹配。 (3) 定义二叉树的结点 BiTreeNode typedef struct Node DataType dataMaxStackSize; struct Node *leftChild; struct Node *rightChild; struct Node *parent; BiTreeNode; (3)算法设计 首先实现将中缀表达式变成后缀表达式:首先实现将中缀表达式变成后缀表达式: 在将中缀表达式变成后缀表达式的时候会用到堆栈,因此首先需要初始化一个堆栈。 又由于逻辑变元可能是字符也可能是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 计算 命题演算 公式 真值
