一、需求分析
要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分
别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先
序遍历序列的函数。
二、概要设计
为实现上述程序功能,应该定义一棵二叉树,其中每个节点也应该独立的
定义为一种数据类型。
1. 包含的方法:
a) 添加节点;
b) 显示整棵树;
c) 4 种遍历方法;
2. 模块划分及模块间关系:
a) 主程序模块:初始化与用户交互接口;
b) 二叉树模块:封装了二叉树数据类型及方法;
c) 结点模块:封装了结点的数据类型;
各模块之间的调用关系如下:
图 1 模块间调用关系
三、详细设计
1. 结点设计
public int iData; // 数据主键,方便插入结点
public double dData; // 数据
public Node leftChild; // 左子树
public Node rightChild; // 右子树
2. 二叉树设计
private Node root; // 根节点
public BinaryTree() // 构造器
主程序模块
二叉树模块
结点模块