1、 - 1 - JAVA 核心技术 课题设计报告 课题名称: 二叉树的基本操作 专业: 信息管理与信息系统 班级: 姓名: 学号: 指导老师: 日期: 2013/10/29 - 2 - 一、 课程序设计目的 (1)掌握基于 Java 相关编程软件的使用; (2)掌握基于 Java 二叉树的基本操作; (3)实现对一棵二叉树的基本操作。 二、 开发环境 (1)系统环境:Windows XP,Windows 2003 Server,Windows 7; (2)编程环境:JDK1.5,JCreator,Eclipse 等 三、 实现过程 (1)Java 编程基础知识介绍 1.Tree(); 2.Tre
2、e buildTree(String pre, String in); /由嵌套括号表示法的字 符串生成链接存储的二叉树; 3.void printtree(); /按嵌套括号表示法打印二叉树; 4.void prevorder(); /前序遍历; 5.void postorder(); /后序遍历; 6.void inorder(); /中序遍历; 7.void levelOrder();/层次遍历 8.int leafNum(); /求叶子节点数; 9.int treedepth(); /求二叉树深度。 - 3 - (2)概要设计 二叉树: a / / b i / / c f i m /
3、/ / / d e g h k l n o (3)详细设计 类名:Gao 类功能简介: 构造服务器界面以及客户端界面 方法 1: tree() 功能: 构造方法用来生成实例时由系统自动调用 方法 2: Tree buildTree(String pre, String in) 功能: 生成链接存储的二叉树 方法 3: void printtree() 功能: 按嵌套括号表示法打印二叉树 - 4 - 方法 4: void prevorder() 功能: 先序遍历 方法 5: void postorder() 功能: 后序遍历 方法 6: void inorder() 功能: 中序遍历 方法 7:
4、 void levelOrder() 功能: 层次遍历 方法 8: int leafNum() 功能: 求叶子节点数 方法 9: int treedepth() 功能: 求二叉树的深度 - 5 - (4)运行程序截图 (5)附:程序源代码 import java.util.ArrayDeque; import java.util.Queue; public class Gao public static void main(String args) / 测试 Tree Tree node = buildTree(null, 1); System.out.print(“先序遍历:“); preO
5、rder(node); System.out.println(); System.out.print(“中序遍历:“); inOrder(node); System.out.println(); System.out.print(“后序遍历:“); postOrder(node); System.out.println(); System.out.print(“层次遍历:“); - 6 - levelOrder(node); System.out.println(); System.out.print(“叶子节点数目:“); System.out.println(leafNum(node);
6、System.out.print(“二叉树的深度:“); System.out.println(deep(node); static char i = a;/ 节点 public static Tree buildTree(Tree node, int k) if (k 4) return null; if (node = null) node = new Treenode(“ “ + i+); node.lChild = buildTree(node.lChild, k + 1); node.rChild = buildTree(node.rChild, k + 1); return node; / 根据先序和中序来构建二叉树 public Tre