java 二叉树第n层节点数及层序遍历
层序遍历简化代码
import java.util.LinkedList;public class TreeBi {TreeBi leftTree;TreeBi rightTree;int data;public TreeBi(int data){this.data=data;}public static void main(String[] args) {// 1// 2 3// 4 5// TODO Auto-generated method stubTreeBi root1 = new TreeBi(1);TreeBi root2 = new TreeBi(2);TreeBi root3 = new TreeBi(3);TreeBi root4 = new TreeBi(4);TreeBi root5 = new TreeBi(5);root2.rightTree=root4;root3.leftTree=root5;root1.leftTree=root2;root1.rightTree=root3;levelPrint(root1);}public static void levelPrint(TreeBi root){if(root == null){return;}LinkedList<TreeBi> list = new LinkedList<>();list.add(root);while( ! list.isEmpty() ){TreeBi node = list.pop();System.out.println(node.data);if(node.leftTree!=null){list.add(node.leftTree);}if(node.rightTree!=null){list.add(node.rightTree);}}}}
采用递归的思想进行求解
import java.util.LinkedList;public class BTreeTest {public static void main(String[] args) {// 构造一棵二叉树 开始Tree rootTree = new Tree();rootTree.value = 1;Tree left = new Tree();left.value=2;Tree right = new Tree();right.value=3;Tree leftChildTree = new Tree();leftChildTree.value=4;Tree rightChildTree = new Tree();rightChildTree.value=5;Tree rightChileTreeLeft = new Tree();rightChileTreeLeft.value= 6;Tree rightChileTreeRight = new Tree();rightChileTreeRight.value= 7;left.leftTree=leftChildTree;left.rightTree=rightChildTree;right.leftTree=rightChileTreeLeft;right.rightTree=rightChileTreeRight;rootTree.leftTree=left;rootTree.rightTree=right;// 构造一棵二叉树 结束// 构造成如下树结构//// 1// 2 3// 4 5 6 7////System.out.println("节点个数为:" + getTreeCount(rootTree,3));System.out.println("层序遍历结果为:");levelOrder(rootTree);}/*** 求树的第n层有多少个节点* @param root* @param n* @return*/public static int getTreeCount(Tree root,int n){if(n <=0 || root == null){return 0;}if(n == 1) return 1;System.out.println(root.value);int left = getTreeCount(root.leftTree,n-1);int right = getTreeCount(root.rightTree,n-1);return left + right;}/*** 层序遍历* @param root*/static void levelOrder(Tree root){Tree node;LinkedList<Tree> list = new LinkedList<Tree>();list.add(root);while (! list.isEmpty()){node = list.poll();System.out.println(node.value);;if(node.leftTree != null){list.offer(node.leftTree);}if(node.rightTree != null){list.offer(node.rightTree);}}}}class Tree{public Tree leftTree;public Tree rightTree;public int value;
}
运行结果截图
java 二叉树第n层节点数及层序遍历相关推荐
- 由隐藏层节点数引起的网络准确率的不规则变化02
(0,2)-81*n*2-(1,0)(0,1) 做一个分类mnist 0,2的二分类三层网络,隐藏层节点数由3-1000共实验了59组值.固定收敛标准δ=1e-6,每组值迭代1999次,统计平均分类准 ...
- 平均分辨准确率对网络隐藏层节点数的非线性变化关系03
(0,3)-81*n*2-(1,0)(0,1) 制作一个二分类的网络分类mnist的0和3,收敛标准1e-6,收敛次数是1999次,隐藏层节点数从3到1000共实验了79组值.统计每次收敛的迭代次数, ...
- 隐藏层节点数对迭代次数分布规律的影响
制作一个二分类网络 (mnist 0 ,2)-81*n*2-(1,0)(0,1) 让n分别等于3,5,10,20,30,40,50,60,70,80,90,100,100,110,120,130, 让 ...
- 神经网络隐藏层节点数效率最优值
本文通过调节神经网络隐藏层节点数观察隐藏层节点数对神经网络性能的影响,并通过实验找到隐藏层节点数的收敛效率最优值. 首先构造一个二分类网络区分minst数据集的0和2,实验将28*28的图片缩小到9* ...
- 计算神经网络隐藏层节点数极小值
神经网络的隐藏层的节点数越少网络的速度越快,那么神经网络的隐藏层的节点数是否有一个可以保证性能的极小值,本文用mnist数据集做了实验. 首先制作一个784*n*2的神经网络,用于测试0-9中的任意两 ...
- 深度学习DL调参隐藏层节点数对网络性能的影响
这次用于实验隐藏层节点数对网络性能的影响,训练集用的是mnist的训练集的0和1,测试集用的mnist的测试集的0和1,学习率固定位0.1,batchsize=20,训练集不加噪音.得到的数据 网络结 ...
- BP神经网络隐含层节点数的确定
BP神经网络隐含层节点数的确定 (1)构造法 首先运用三种确定隐含层层数的方法得到三个隐含层层数,找到最小值和最大值,然后从最小值开始逐个验证模型预测误差,直到达到最大值.最后选取模型误差最小的那个隐 ...
- 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)
typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...
- leetcode117. 填充每个节点的下一个右侧节点指针 II(层序遍历08)
一:题目 二:上码 /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node* next ...
最新文章
- 前端面试题之手写事件模型及事件代理/委托
- .Net WebApi接口之Swagger集成详解
- asp.net乱码问题
- Android刷Root方法,zergRush,Odin3+CWM(ClockworkMod recovery)
- 一款 Java 开源的 Spring Boot 即时通讯 IM 聊天系统(源码自取)
- 先进核反应堆 ——新能源概论结课作业
- 【解决方案 二十五】如何对Excel表数据进行彻底转置
- 【洛谷题解】P1042 [NOIP2003 普及组] 乒乓球
- 【AVD】NDK MediaCodec 编码中的坑 configure: err(-2147479551) error -38 Fatal signal 4 (SIGILL) ILL_ILLOPC
- Titantic乘客生还预测数据分析报告—基于python实现
- 色即是空 空即是色_huadingjin_新浪博客
- 猎人猎物优化算法HPO
- Error: Canceled future for execute_request message before replies were done
- win10图标重建缓存_如何在Windows 10中重建损坏的图标缓存
- BetterGeo Mod 中文
- COSAGPS进行GAMIT基线解算数据的平差
- H3C 二层链路聚合
- [典故收集]氪金狗眼
- 163个人电子邮箱免费注册,外贸邮箱用哪个比较好?
- 小公司怎样实施大系统
热门文章
- 华为发布台式电脑,可能给PC老大联想带来压力
- HTB-oscplike-Arctic+Grandpa+Silo
- 数制间的转换,原码、反码、补码
- npm install 你很明白吗
- CVPR 2022 | QueryDet:使用级联稀疏query加速高分辨率下的小目标检测
- 实现电话自动拨打、挂断
- Unity地面拼接实现无限路循环
- html背景飘汽水气泡,HTML5网页背景气泡上升
- 学软件的等于电脑高手?
- IDEA运行工程时报错:java: java.lang.OutOfMemoryError: GC overhead limit exceeded