赞
踩
建议先实现二叉树
从数据存储来看,数组存储方式和树的存储方式可以相互转换,即数组可以转换成树,树也可以转换成数组
class ArrayBinaryTree { //存储数据节点的数组 private int[] array; public ArrayBinaryTree(int[] array) { this.array = array; } //前序遍历入口 public void preOrder() { preOrder(0); } /** * 前序遍历 * @param index */ public void preOrder(int index) { //如果数组为空或数组.length==0 if (array == null || array.length == 0) { System.out.println("数组为空,不能按照二叉树的前序遍历!"); } //输出当前这个元素 System.out.print(array[index]+" "); //向左递归遍历 if ((index * 2 + 1) < array.length) { preOrder(2 * index + 1); } //向右递归遍历 if ((index * 2 + 2) < array.length) { preOrder(2 * index + 2); } }
class ArrayBinaryTree { //存储数据节点的数组 private int[] array; public ArrayBinaryTree(int[] array) { this.array = array; } //中序遍历入口 public void infixOrder() { infixOrder(0); } /** * 中序遍历 * @param index */ private void infixOrder(int index) { //如果数组为空或数组.length==0 if (array == null || array.length == 0) { System.out.println("数组为空,不能按照二叉树的前序遍历!"); } //向左递归遍历 if ((index * 2 + 1) < array.length) { infixOrder(2 * index + 1); } //输出当前这个元素 System.out.print(array[index]+" "); //向右递归遍历 if ((index * 2 + 2) < array.length) { infixOrder(2 * index + 2); } }
class ArrayBinaryTree { //存储数据节点的数组 private int[] array; public ArrayBinaryTree(int[] array) { this.array = array; } //后序遍历入口 public void postOrder() { infixOrder(0); } /** * 后序遍历 * @param index */ private void postOrder(int index) { //如果数组为空或数组.length==0 if (array == null || array.length == 0) { System.out.println("数组为空,不能按照二叉树的前序遍历!"); } //向左递归遍历 if ((index * 2 + 1) < array.length) { postOrder(2 * index + 1); } //向右递归遍历 if ((index * 2 + 2) < array.length) { postOrder(2 * index + 2); } //输出当前这个元素 System.out.print(array[index]+" "); }
启动入口
public class ArrayBinaryTreeDemo { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5, 6, 7}; ArrayBinaryTree tree = new ArrayBinaryTree(array); System.out.println("前序"); tree.preOrder(); System.out.println(); System.out.println("中序"); tree.infixOrder(); System.out.println(); System.out.println("后序"); tree.postOrder(); System.out.println(); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。