节点类,包括名称与子节点。
class TestNode {
String name = null;
List<TestNode> children = new ArrayList<TestNode>();
//setter、getter
}
遍历函数:
public void levelOrder(TestNode root) {
Queue<TestNode> nodes = new LinkedList<TestNode>();
TestNode currNode = null;
List<TestNode> children = null;
assert(root != null);
nodes.add(root);
while (!nodes.isEmpty()) {
currNode = nodes.poll();//出队列
System.out.print(currNode.getName());
children = currNode.getChildren();
//子节点入队列
if (children != null && !children.isEmpty()) {
for (int i = 0; i < children.size(); i++) {
nodes.add(children.get(i));
}
}
}
}
分享到:
相关推荐
二叉树的层次遍历 该程序使用队列实现了二叉树的层次遍历,同时使用了广义表表示法来创建二叉树。程序先创建好一棵二叉树,然后调用 levelOrder 函数即可得到该二叉树的层次遍历结果。
二叉树的遍历方式主要有四种:前序遍历、中序遍历、后序遍历和层次遍历。 前序遍历的顺序是:先访问根节点,然后访问左子树,最后访问右子树。前序遍历、中序遍历和后序遍历主要描述的是父节点被访问的次序。如果父...
二叉树可以通过编程语言实现,例如C语言、Java语言等。 6. 二叉树与算法分析 二叉树与算法分析有关,任何借助于比较法查找长度为Ⅳ的一个序表的算法,都可以表示成一株二叉树。反之,任何二叉树都对应一个查找有序...
Java实现二叉树的先序、中序、后续、层次遍历,经验证可用版本,方便各种找工作面试笔试
使用java语言,对数据结构中的二叉树进行遍历,包含算法逻辑。
本文主要通过python以非递归形式实现二叉树构造、前序遍历,中序遍历,后序遍历,层次遍历以及求二叉树的深度及叶子结点数。其他非递归形式的遍历,想必大多人应该都很清楚,就不再声明。如果你用C或者C++或者其他...
二叉树算法实现,二叉树定义,二叉树实现步骤,使用算法学习人群,简单易懂,更是采用三大语言实现:python实现、Java实现、C语言实现
10个数据结构课程设计例子 查找.c 二叉排序树.c 二叉树层次遍历.c 二叉树非递归遍历.c 二叉树建立.c 快速排序.c 括号匹配.c 冒泡排序.c 直接插入排序.c 直接选择排序.c
(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)示例 1返回其自底向上的层次遍历为:代码* Definition for a binary tree
java数据结构二叉树的打印,通过队列,栈等,最后前序中序后序和层次四种遍历。。。
/* * 基于链表实现二叉树 */ package dsa; public class BinTree_LinkedList implements BinTree { ...//层次遍历 public Iterator elementsLevelorder() { return root.elementsLevelorder(); } }
本资源提供了树和二叉树的基本概念、术语和操作,涵盖了树的定义、基本术语、二叉树的定义和基本形态、二叉树的遍历、满二叉树和完全二叉树、线索二叉树等内容,是学习数据结构和java编程的必备资源。
[问题描述] 建立二叉树,并输出二叉树的先序,中序和后序遍历序列,以及二叉树的叶子数。 [基本要求] 要求根据读取的元素建立二叉树,能输出各种遍历。 [实现提示] 可通过输入带空格的前序序列建立二叉链表。
java 向量的实现 栈实现 队列实现 链表的实现 二叉树的实现 求二叉树的深度 按层次遍历二叉树 求二叉树的宽度 各类排序算法java实现
二叉树的非递归遍历运算 ...3) 非递归的层次遍历算法 4) 非递归的先序遍历、中序遍历、后序遍历算法 5)查找指定结点的双亲。 6)查找指定结点x,若存在返回true,否则返回false 7)求各结点的度。
二叉树的遍历: 二叉树的查找: 二叉树的删除: 我们最初学习数据结构的时候,肯定是先从线性结构和链式结构讲起,回顾一下他们的特点。 线性结构以数组为例,它通过下标的方式访问元素,访问速度很快,但是当我们向...
* 基于链表节点实现二叉树节点 */ package dsa; public class BinTreeNode implements BinTreePosition { protected Object element;//该节点中存放的对象 protected BinTreePosition parent;//父亲 ...
今天我就在B站看了数据结构中关于树的内容后,又用我浅薄的Python大法来实现一些树的建立和遍历。 关于树的建立我觉得层序建立对于使用者来说最为直观,输入很好写。(好吧,我是看LeetCode中的树输入都是采用层序...