首页 > 代码库 > 二叉树基础——前序遍历、中序遍历、后序遍历、按层遍历
二叉树基础——前序遍历、中序遍历、后序遍历、按层遍历
转载请注明原文地址:
一:树的结点
一般默认树的结点由:结点值、左儿子、右儿子,构造函数组成。
class TreeNode{ int value; TreeNode left; TreeNode right; public TreeNode(int i){ this.value=http://www.mamicode.com/i; } }
二:二叉树的遍历实现——递归和非递归
1:递归实现==按照遍历方式(前、中、后)对左、根、右的访问顺序去 打印结点值、递归左儿子、递归右儿子
public void preorder(TreeNode root){ if(root==null){ return; } System.out.println(root.val); //根 preorder(root.left,pre);//左 preorder(root.right,pre);//右 } public void inorder(TreeNode root){ if(root==null){ return; } inorder(root.left,in); /左 System.out.println(root.val);//根 inorder(root.right,in);//右 } public void postorder(TreeNode root){ if(root==null){ return; } postorder(root.left,post);//左 postorder(root.right,post);//右 System.out.println(root.val);//根 }
2:非递归实现==使用 栈 来控制结点的处理顺序
二叉树基础——前序遍历、中序遍历、后序遍历、按层遍历
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。