简单的递归遍历树
2013-04-10 16:39
204 查看
对于树的递归,不,应该说对于递归,我一直都不是特别的懂,一直处于混沌状态。对于树的遍历,当初学数据结构的时候,自己能按照规则遍历出来,但是用程序当时根本就不明白。其实递归已经在很对地方讲到了,可我就是不明白,估计这是我的一个要害。
还在看算法,Java实现树的递归遍历,不错不错,稍稍修改了,保存起来,虽然是一个很简单的程序,但�歉业钠舴⒑艽螅匾乃枷氩皇锹穑�
树是如附件所示的那个样子。
还在看算法,Java实现树的递归遍历,不错不错,稍稍修改了,保存起来,虽然是一个很简单的程序,但�歉业钠舴⒑艽螅匾乃枷氩皇锹穑�
树是如附件所示的那个样子。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | package alg; public class TraverTree { static class Item{ int text; Item(int i){ this.text=i; } private void visit(){ System.out.print(this.text+","); } }//class Item static class Node{ Item item; Node right; Node left; Node(Item item,Node l,Node r){ this.item=item; this.right=r; this.left=l; } }//class Node private static void traverM(Node n){ if(n==null)return; traverM(n.left); n.item.visit(); traverM(n.right); }//中序遍历 private static void traverF(Node n){ if(n==null)return; n.item.visit(); traverF(n.left); traverF(n.right); }//先序遍历 private static void traverL(Node n){ if(n==null)return; traverL(n.left); traverL(n.right); n.item.visit(); }//后序遍历 public static void main(String[] args) { Node root=createTree(); System.out.print("中序遍历的结果是:"); traverM(root); System.out.println(); System.out.print("先序遍历的结果是:"); traverF(root); System.out.println(); System.out.print("后序遍历的结果是:"); traverL(root); } public static Node createTree(){ //生成叶子节点 Item item=new Item(6); Node leaf_1=new Node(item,null,null); item=new Item(7); Node leaf_2=new Node(item,null,null); item=new Item(10); Node leaf_3=new Node(item,null,null); item=new Item(12); Node leaf_4=new Node(item,null,null); item=new Item(5); leaf_1=new Node(item,leaf_1,leaf_2); item=new Item(8); leaf_2=new Node(item,leaf_3,leaf_4); item=new Item(1); Node root=new Node(item,leaf_1,leaf_2); return root; //返回根节点 } } |
相关文章推荐
- 简单的递归遍历树
- 一种比较简单的递归创建目录的方法
- 简单说明什么是递归,什么情况下会使用递归,并写一个简单的递归程序。
- 总结,简单的树结构递归。
- 关于递归的简单分析
- 遍历树查找 . 最简单的遍历树算法 .
- 递归就这么简单
- 倒序打印的聪明递归方法~当然也可以使用堆栈法和最简单易懂的循环法
- 一天一个算法题-简单的-递归
- 2017第八届蓝桥杯省赛-大学A组 字母组串(简单递归)
- 一天一个算法题-简单的-递归-计算a+aa+aaa+...+aaaa...a的数值
- 递归菜单简单应用
- C# 回顾简单XML动态递归绑定TreeView
- 递归调用简单的讲解
- 编译原理及实践(Compiler Construction Principles and Practice)——简单的递归下降程序计算器
- 递归—简单背包问题
- 递归实现一些简单程序
- 和菜鸟一起学算法之递归和分治简单实例
- 简单递归之蛇形填数
- java递归简单实例