java实现K叉树及递归和非递归遍历算法
来源:互联网 发布:硅胶点胶机编程视频 编辑:程序博客网 时间:2024/05/25 18:12
如下代码
import java.util.Stack;/** * * @author Administrator * */class treenode {private int data;private treenode[] kNode;public treenode(int data) {super();this.data = data;}/** * @return the date */public int getData() {return data;}/** * @param date * the date to set */public void setData(int data) {this.data = data;}/** * @return the kNode */public treenode[] getkNode() {return kNode;}/** * @param kNode * the kNode to set */public void setkNode(treenode[] kNode) {this.kNode = kNode;}}public class k_tree {public static void main(String[] args) {// TODO Auto-generated method stubtreenode a = new treenode(1);treenode b = new treenode(2);treenode c = new treenode(3);treenode d = new treenode(4);treenode e = new treenode(5);treenode f = new treenode(6);treenode[] aNode = { b, c, d };treenode[] bNode = { e, f };a.setkNode(aNode);b.setkNode(bNode);System.out.println("递归遍历:");displayTree(a);System.out.println("非递归遍历:");displayTreeByStack(a);}// 递归遍历;static void displayTree(treenode root) {if (root == null)System.out.println("空树");else {if (root.getkNode() != null) {// 有子节点继续递归;for (treenode tn : root.getkNode())displayTree(tn);}System.out.println(root.getData());// 打印节点值;}}// 非递归遍历利用栈模拟;@SuppressWarnings({ "unchecked", "rawtypes" })static void displayTreeByStack(treenode root) {if (root == null)System.out.println("空树");else {Stack allNode = new Stack();// 临时存储用栈allNode.push(root);// 压入根节点while (!allNode.isEmpty()) {// 只有栈不为空treenode n = (treenode) allNode.pop();// 弹出元素System.out.println(n.getData());if (n.getkNode() != null) {// 再遍历压入子树for (treenode tn : n.getkNode())allNode.push(tn);}}}}}
阅读全文
0 0
- java实现K叉树及递归和非递归遍历算法
- JAVA语言实现二叉树的层次遍历的非递归算法及递归算法。
- JAVA语言实现二叉树的层次遍历的非递归算法及递归算法
- Java方式实现二叉树的前中后序遍历的递归及非递归算法
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- 二叉树创建及遍历算法(递归及非递归)
- Java static关键字的几种用法
- Java基础语法试卷5(2017/10/16 第一阶段考试)
- OpenGL学习脚印:缓冲对象相关函数的使用(buffer object function usage)
- java内存空间分析
- 子弹?不存在的
- java实现K叉树及递归和非递归遍历算法
- C++模板类实现Vector
- 1059. C语言竞赛(20)
- Linux gpio 接口
- 六级_第五天
- qt中的线程套路
- org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl@17b9635 is closed
- 方程求解
- bzoj 5044 岛屿生成 构造