1 package com.berry.algorithm.tree; 2 3 /** 4 * Created by berry-h on 17-1-16. 5 * 树的节点类(结构体) 6 */ 7 public class TreeNode { 8 9 public int value;10 11 public TreeNode leftChild;12 13 public TreeNode rightChild;14 15 }
1 package com.berry.algorithm.tree; 2 3 /** 4 * Created by berry-h on 17-1-16. 5 */ 6 public class TreeTraversalAlgorithm { 7 8 /** 9 *10 * 树的前序遍历算法11 */12 public static void dlr(TreeNode treeNode){13 14 if(treeNode == null){15 return;16 }17 18 System.out.println("前序算法 value: " + treeNode.value);19 dlr(treeNode.leftChild);20 dlr(treeNode.rightChild);21 }22 23 24 /**25 *26 * 树的中序遍历算法27 */28 public static void ldr(TreeNode treeNode){29 30 if(treeNode == null){31 return;32 }33 34 ldr(treeNode.leftChild);35 System.out.println("中序算法 value: " + treeNode.value);36 ldr(treeNode.rightChild);37 }38 39 /**40 *41 * 树的后序遍历算法42 */43 public static void lrd(TreeNode treeNode){44 45 if(treeNode == null){46 return;47 }48 49 lrd(treeNode.leftChild);50 lrd(treeNode.rightChild);51 System.out.println("后序算法 value: " + treeNode.value);52 }53 }