遍历查询二叉树结构(1)
来源:互联网 发布:英语音标学习软件 编辑:程序博客网 时间:2024/04/29 02:54
二叉树结构用java表示如下:
package javatest.suanfa.Erchashu;public class TreeNode {int val;TreeNode leftChild;TreeNode rightChild;public TreeNode(int value) {this.val = value;}public int getVal() {return val;}public void setVal(int val) {this.val = val;}public TreeNode getLeftChild() {return leftChild;}public void setLeftChild(TreeNode leftChild) {this.leftChild = leftChild;}public TreeNode getRightChild() {return rightChild;}public void setRightChild(TreeNode rightChild) {this.rightChild = rightChild;}}
遍历二叉树的方法,递归
package javatest.suanfa.Erchashu;public class Erchashulength {public static int leftlength = 0;public static int rightlength = 0;public static int length = 0;public static int dept(TreeNode node){if(node!=null){length = 1;}//如果下面的节点为null,或者左右几点为null,直接返回if((node==null)||(node.getLeftChild()==null&&node.getRightChild()==null)){return leftlength>rightlength?leftlength:rightlength;//遍历左侧的树结构}else if(node.getLeftChild()!=null&&node.getRightChild()==null){leftlength++;return dept(node.getLeftChild());//遍历右侧的树结构}else if(node.getLeftChild()==null&&node.getRightChild()!=null){rightlength++;return dept(node.getRightChild());//如果2侧都有树}else{ rightlength++; leftlength++; dept(node.getLeftChild()); dept(node.getRightChild());return leftlength>rightlength?leftlength:rightlength;}}public static void main(String[] args) {// TODO Auto-generated method stubTreeNode node = new TreeNode(1);TreeNode node21 = new TreeNode(21);TreeNode node22 = new TreeNode(22);TreeNode node31 = new TreeNode(31);TreeNode node32 = new TreeNode(32);TreeNode node33 = new TreeNode(33);node.setLeftChild(node21);node.setRightChild(node22);node21.setLeftChild(node31);node21.setRightChild(node32);node22.setRightChild(node33);dept(node);System.out.println(length+"----------"+leftlength+"--"+rightlength);System.out.println(length+leftlength);}}
0 0
- 遍历查询二叉树结构(1)
- 数据结构--二叉树--后续遍历二叉树(顺序结构)
- 数据结构--二叉树--后续遍历二叉树(链式结构)
- 二叉树遍历--遍历顺序推出二叉树结构
- Tree Recovery(过遍历确定二叉树结构)
- 二叉树的存储结构及其遍历
- 通过遍历求解二叉树结构poj2255
- 关于二叉树的结构与遍历
- 由遍历序列还原二叉树结构
- 二叉树问题(打印二叉树,二叉树子结构、镜像、遍历,二叉树满足的路径)
- 数据结构--二叉树--中序递归遍历二叉树(顺序结构)
- 数据结构--二叉树--中序递归遍历二叉树(链式结构)
- 数据结构--二叉树--中序非递归遍历二叉树(链式结构)
- 数据结构--二叉树--中序非递归遍历二叉树(链式结构)2
- 【数据结构】二叉树的顺序存储结构--遍历二叉树
- 【数据结构】二叉树链式结构--遍历二叉树
- 二叉树的递归与非递归遍历(二叉链表结构)
- 二叉树的非递归中序遍历(二叉线索存储结构)
- 关于Linux连接工具mobaxterm显示中文乱码问题
- 466A. Cheap Travel
- 【乌拉圭】乌拉圭决定采用日本-巴西数字电视制式标准
- spring核心API
- leetcode-141-Linked List Cycle
- 遍历查询二叉树结构(1)
- Notepad++插件:JS代码格式化
- 流媒体协议—RTMP
- 伽罗华域(Galois Field)上的四则运算
- 测试地址的端口是否开通
- Codeforces Round #393 Frodo and pillows
- 如何配置jdk环境
- Docker创建mysql
- 关联数据上的多语种问答(QALD-3):实验综述