数据结构基础复习二叉树的递归遍历
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构基础复习二叉树的递归遍历相关的知识,希望对你有一定的参考价值。
一、绪论
今天来点简单的,好久没有写过代码了,基础知识都快忘了,从今天开始还是得简简单单的写一些,作为复习吧,不能光搞研究,代码给拉下了。
二、目的
复习二叉树的遍历
二叉树的遍历有三种,前中后。这里的前中后是根据树的根节点来看的,前序就是,根节点---左子节点---右子节点。其余类同。其实递归遍历没什么好谢的,都是教材上有的,这里直接把代码贴出来,不做过多的累述。
//前序遍历; public void preOderRecur( Node root ){ if(root == null){ return ; } System.out.print(root.value + " "); preOderRecur(root.left); preOderRecur(root.right); } //中序遍历; public void inOderRecur( Node root ){ if(root == null){ return ; } inOderRecur(root.left); System.out.print(root.value + " "); inOderRecur(root.right); } //后序遍历; public void posOderRecur( Node root ){ if(root == null){ return ; } posOderRecur(root.left); posOderRecur(root.right); System.out.print(root.value + " "); }
当然在遍历二叉树的时候,还得构造二叉树,这里同样是采用递归的方式去构造。
1 //构造二叉树; 2 public Node root ; 3 protected Node creBinaryTree(int[] seeds){ 4 root = null ; 5 for(int node : seeds){ 6 root = insert(node) ; 7 } 8 return root ; 9 } 10 public Node insert(int data){ 11 return root = insert(root , data); 12 } 13 public Node insert(Node node ,int value){ 14 if(node == null){ 15 node = new Node(value) ; 16 } else { 17 if(node.left== null) { 18 node.left = insert(node.left, value); 19 } else { 20 node.right = insert(node.right, value); 21 } 22 } 23 return node; 24 }
以上是关于数据结构基础复习二叉树的递归遍历的主要内容,如果未能解决你的问题,请参考以下文章