java 二叉树的递归遍历和非递归遍历
来源:互联网 发布:转换视频格式的软件 编辑:程序博客网 时间:2024/04/29 16:21
//root left right public void preTrace(Node rootNode){ if(rootNode != null){ System.out.print(rootNode.data+","); preTrace(rootNode.left); preTrace(rootNode.right); } } public void preStackTrace(Node root){ TreeStack stack = new TreeStack(30); stack.push(root); System.out.println("preTraceStack"); while(!stack.isEmpty()){ Node tmp = stack.pop(); System.out.print(tmp.data+","); if(tmp.right != null) stack.push(tmp.right); if(tmp.left != null) stack.push(tmp.left); } System.out.println(); } // left root right public void midTrace(Node rootNode){ if(rootNode != null){ midTrace(rootNode.left); System.out.print(rootNode.data+","); midTrace(rootNode.right); } } public void midStackTrace(Node root){ TreeStack stack = new TreeStack(30); Node cur = root; System.out.println("midTraceStack"); while(cur != null || !stack.isEmpty()){ while(cur != null){ stack.push(cur); cur = cur.left; } if(!stack.isEmpty()){ cur = stack.pop(); System.out.print(cur.data+","); cur = cur.right; } } System.out.println(); } //left right root public void backTrace(Node rootNode){ if(rootNode != null){ backTrace(rootNode.left); backTrace(rootNode.right); System.out.print(rootNode.data+","); } } public void backStackTrace(Node root){ System.out.println("backTraceStack:"); TreeStack stack = new TreeStack(30); stack.push(root); Node cur = root.left; Node last; while(!stack.isEmpty()) { while(cur != null){ stack.push(cur); cur = cur.left; } if(stack.peek().right == null){ System.out.print(stack.peek().data+","); last = stack.pop(); if(stack.isEmpty()) break; if(last == stack.peek().right){ stack.peek().right = null; } } cur = stack.peek().right; } System.out.println(); }
阅读全文
0 0
- java 二叉树的递归遍历和非递归遍历
- 二叉树的递归和非递归遍历(java)
- 二叉树的递归遍历和非递归遍历
- 二叉树的递归遍历和非递归遍历
- 二叉搜索树的递归遍历和非递归遍历
- java二叉树的非递归遍历
- JAVA递归、非递归遍历二叉树
- java递归,非递归遍历二叉树
- JAVA递归、非递归遍历二叉树
- 递归 和 非递归 遍历二叉树
- 递归和非递归遍历二叉树
- 递归和非递归遍历二叉树
- 二叉树递归和非递归遍历
- 二叉树递归和非递归遍历
- 递归和非递归遍历二叉树
- 二叉树的先中后序遍历,递归遍历,非递归遍历
- JAVA二叉树遍历(递归和非递归)
- 二叉树的递归,非递归遍历
- Excel在统计分析中的应用—第五章—统计指数-Part3- 综合指数(现期加权指数(帕氏指数))
- cxf spring
- 解决InnoDB出现“the table is full”的问题
- var ev = ev || event
- Maven之pom.xml详解
- java 二叉树的递归遍历和非递归遍历
- java基础部分代码相关题2
- 使用MultipartEntity对文字、图片、视频进行综合上传
- mysql基础教程
- props和state
- CSDN-markdown编辑器使用指南
- 连猴子都能看懂的 IOS 国际化(本地化)教程
- BufferedImage 和 Graphics2D 画图,背景色透明
- 面向对象的概念:继承、封装、多态