数据结构:那些关于二叉树遍历的故事--Java实现
2014-03-17 16:09
615 查看
二叉树的先序遍历
二叉树的中序遍历
二叉树的后序遍历
二叉树的层次遍历
//前序遍历 public List<TreeNode> preIterator() { return preIterator( root ); } private List<TreeNode> preIterator( TreeNode node ) { List<TreeNode> list = new ArrayList<TreeNode> (); list.add( node ); if( node.left != null ) { list.addAll( preIterator( node.left )); } if( node.right != null ) { list.addAll( pareIterator( node.right )); } return list; }
二叉树的中序遍历
//中序遍历 public List<TreeNode> midIterator() { return preIterator( root ); } private List<TreeNode> midIterator( TreeNode node ) { List<TreeNode> list = new ArrayList<TreeNode> (); if( node.left != null ) { list.addAll( midIterator( node.left )); } list.add( node ); if( node.right != null ) { list.addAll( midIterator( node.right )); } return list; }
二叉树的后序遍历
//后序遍历 public List<TreeNode> postIterator() { return preIterator( root ); } private List<TreeNode> postIterator( TreeNode node ) { List<TreeNode> list = new ArrayList<TreeNode> (); if( node.left != null ) { list.addAll( postIterator( node.left )); } if( node.right != null ) { list.addAll( postIterator( node.right )); } list.add( node ); return list; }
二叉树的层次遍历
//层次遍历 public List<TreeNode> traverseIterator() { Queue<TreeNode> queue = new ArrayDeque<TreeNode>(); List<TreeNode> list = new ArrayList<TreeNode> () ; if( root != null ) { queue.offer( root ); } while( !queue.isEmpty() ) { list.add( queue.peek() ); TreeNode p = queue.poll(); if( p.left != null ) { queue.offer( p.left ); } if( p.right != null ) { queue.offer( p.right ); } } return list; }
相关文章推荐
- Java关于数据结构的实现:树
- 数据结构之关于树的操作(JAVA实现)(三)
- 关于java二叉树数据结构的实现
- JAVA的那些数据结构实现总结,实现,扩容说明
- Java关于数据结构的实现:表、栈与队列
- 【数据结构】Java实现二叉树遍历(非递归)
- 数据结构--二叉树遍历前序、中序、后序(java实现)
- 【数据结构】Java实现二叉树遍历(递归)
- java数据结构之二叉树遍历的非递归实现
- Java关于数据结构的实现:树
- Java关于数据结构的实现:散列
- Java关于数据结构及如何实现:表、栈与队列详解
- JAVA关于图数据结构的通用类实现
- 二叉树遍历-JAVA实现
- java与数据结构(8)---java实现链队列
- 转自木白 blog 关于java的数据结构(3)
- 具体mongo 中关于java的各个接口实现方法。
- 数据结构之堆(java实现,有排序功能)
- 利用java实现数据结构中常用的插入排序和快速排序算法
- 关于java实现的mapreduce程序打包后通过脚本运行出现classnotfound异常