树和二叉树的实验报告
一、 用二叉树来表示代数表达式
(一)需求分析
输入一个正确的代数表达式,包括数字和用字母表示的数,运算符号+ - * / ^ =及括号。系统根据输入的表达式建立二叉树,按照先括号里面的后括号外面的,先乘后除的原则,每个节点里放一个数字或一个字母或一个操作符,括号不放在节点里。分别先序遍历,中序遍历,后序遍历此二叉树,并输出表达式的前缀式,中缀式和后缀式。 (二)系统设计
1. 本程序中用到的所有抽象数据类型的定义;
typedef struct BiNode //二叉树的存储类型
{
char s[20];
struct BiNode *lchild,*rchild; }BiTNode,*BiTree;
2. 主程序的流程以及各程序模块之间的层次调用关系,函数的调用关系图:
3.列出各个功能模块的主要功能及输入输出参数 void push(char cc)
初始条件:输入表达式中的某个符号 操作结果:将输入的字符存入buf数组中去 BiTree Create_RTree()
初始条件:给出二叉树的定义表达式
操作结果:构造二叉树的右子树,即存储表达式等号右侧的字符组 BiTree Create_RootTree()