Tree形结构
来源:互联网 发布:win7阻止安装软件 编辑:程序博客网 时间:2024/06/05 11:46
首先需要去理解二叉树的定义 : ------
/**
* 二叉树 * 每个结点最多有两个子结点 * * Created by on 2017/11/2. */public class BinaryTree implements Serializable { private static final long serialVersionUID = -1966626461756678149L; private String t; private BinaryTree lchild; private BinaryTree rchild; public BinaryTree() { } public BinaryTree(String t) { this.t = t; } public BinaryTree(String t, BinaryTree lchild, BinaryTree rchild) { this.t = t; this.lchild = lchild; this.rchild = rchild; } public String getT() { return t; } public void setT(String t) { this.t = t; } public BinaryTree getLchild() { return lchild; } public void setLchild(BinaryTree lchild) { this.lchild = lchild; } public BinaryTree getRchild() { return rchild; } public void setRchild(BinaryTree rchild) { this.rchild = rchild; } /**构建指针*/ public void setChild(BinaryTree lchild,BinaryTree rchild){ this.lchild = lchild; this.rchild = rchild; }}
先创建树的vo
/** * 二叉树 * Created by on 2017/11/2. */public class BinaryTreeUtils { /**前序遍历算法 * 1,结点 * 2,左分支 * 3,右分支 * */ public static void preOrderTraverse(BinaryTree T) { if (T == null) return; System.out.println(T.getT()); preOrderTraverse(T.getLchild()); preOrderTraverse(T.getRchild()); } /**中序遍历算法 * 1,左分支先遍历 * 2,结点 * 3,右分支 * */ public static void inOrderTraverse(BinaryTree T) { if (T == null) return; inOrderTraverse(T.getLchild()); System.out.println(T.getT()); inOrderTraverse(T.getRchild()); } /**中序遍历算法 * 1,左分支先遍历 * 2,右分支 * 3,结点 * */ public static void postOrderTraverse(BinaryTree T) { if (T == null) return; postOrderTraverse(T.getLchild()); postOrderTraverse(T.getRchild()); System.out.println(T.getT()); }}
树的遍历
/** * Created by on 2017/11/2. */public class BinaryTreeTest { /**构建树*/ public static BinaryTree createTree(){ BinaryTree A = new BinaryTree("A"); BinaryTree B = new BinaryTree("B"); BinaryTree C = new BinaryTree("C"); BinaryTree D = new BinaryTree("D"); BinaryTree E = new BinaryTree("E"); BinaryTree F = new BinaryTree("F"); BinaryTree G = new BinaryTree("G"); BinaryTree H = new BinaryTree("H"); BinaryTree I = new BinaryTree("I"); BinaryTree J = new BinaryTree("J"); BinaryTree K = new BinaryTree("K"); A.setChild(B,C); B.setChild(D,E); D.setLchild(H); H.setRchild(K); C.setChild(F,G); F.setLchild(I); G.setRchild(J); return A; } @Test public void test1(){ BinaryTreeUtils.preOrderTraverse(createTree()); } @Test public void test2() { BinaryTreeUtils.inOrderTraverse(createTree()); } @Test public void test3() { BinaryTreeUtils.postOrderTraverse(createTree()); }}
树的测试
阅读全文
0 0
- Tree形结构
- tree结构
- struts tree 结构
- matlab tree 结构
- mac 列出tree结构
- mysql索引结构B+Tree结构
- win tree命令 tree导出目录 tree显示树形结构
- B-tree & B+tree & B*Tree 结构浅析
- 关于 树(tree)结构
- 导出目录结构文档tree
- 无限分类树结构tree
- 查看当前view tree结构
- DWZ的树结构 tree
- java tree 结构递归查询
- EasyUI之树形结构tree
- json集合转tree结构
- 搜索结构之B-Tree
- java List 转 Tree结构
- 蓝桥杯 基础练习 字母图形基础练习 字母图形
- sudo: unable to resolve host [hostname](已解决)
- gprof使用介绍-优化程序性能
- 学习笔记TF059:自然语言处理、智能聊天机器人
- 【LintCode-655】大整数加法(Java实现)
- Tree形结构
- python基础-笔记
- Tarjan算法小结1——SCC
- Error: need a single repository as argument.(已解决)
- 20171103周测题
- Java编程思想第四版第三章练习
- oprofile性能分析优化程序
- Scala——基于Akka的并发编程和分布式应用程序开发
- MapReduce数据类型及自定义MapReduce数据类型