Java如何求树的直径
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇内容主要讲解"Java如何求树的直径",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何求树的直径"吧!package com.lifeibig
千家信息网最后更新 2024年09月21日Java如何求树的直径
本篇内容主要讲解"Java如何求树的直径",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何求树的直径"吧!
package com.lifeibigdata.algorithms.blog;import java.util.ArrayList;import java.util.List;/** * Created by lifei on 16/6/22. */public class MaxLenInBinTree { /* a. 1 / \ 2 3 / \ / \ 4 5 6 7 max=4 pass "root" b. 1 / \ 2 3 / \ 4 5 / \ 6 7 / \ 8 9 max=6. do not pass "root" */ private int maxLen=0; public static void main(String[] args) { int[] a={1,2,3,4,5,6,7}; //层级遍历 //store in LevelOrder,Complete Binary Tree. 0==no child MaxLenInBinTree m=new MaxLenInBinTree(); Node aRoot=m.createTree(a); m.findMaxLen(aRoot); System.out.println(m.maxLen); int[] b={1,2,3,4,5,0,0,6,0,0,7,0,0,0,0,8,0,0,0,0,0,0,9}; Node bRoot=m.createTree(b); m.findMaxLen(bRoot); System.out.println(m.maxLen); } public void findMaxLen(Node node){ if(node==null) return ; if(node.getLeft()==null){ node.setMaxLeftLen(0); } if(node.getRight()==null){ node.setMaxRightLen(0); } if(node.getLeft()!=null){ findMaxLen(node.getLeft()); } if(node.getRight()!=null){ findMaxLen(node.getRight()); } if(node.getLeft()!=null){ int temp=0; Node left=node.getLeft(); if(left.getMaxLeftLen()>left.getMaxRightLen()){ temp=left.getMaxLeftLen(); }else{ temp=left.getMaxRightLen(); } node.setMaxLeftLen(temp+1); } if(node.getRight()!=null){ int temp=0; Node right=node.getRight(); if(right.getMaxLeftLen()>right.getMaxRightLen()){ temp=right.getMaxLeftLen(); }else{ temp=right.getMaxRightLen(); } node.setMaxRightLen(temp+1); } if(maxLennodeList=new ArrayList (); for(int each:data){ Node n=new Node(each); nodeList.add(n); } int lastRootIndex=data.length/2-1; for(int i=0;i<=lastRootIndex;i++){ Node root=nodeList.get(i); Node left=nodeList.get(i*2+1); if(left.getData()!=0){ root.setLeft(left); }else{ root.setLeft(null); } if(i*2+2 到此,相信大家对"Java如何求树的直径"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
直径
内容
学习
实用
更深
兴趣
实用性
实际
层级
操作简单
方法
更多
朋友
网站
频道
a.
b.
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
村居网络安全简报范文
dell服务器改装nas
杭州软件开发运营助理
网络安全软件售前
商品软件开发方式
软件开发培养
服务器建立新硬盘
网络工程和网络技术有区别吗
sr网络技术优缺点
千万级服务器是什么意思
湖北父子孙网络技术
老用户云服务器续费
中南大学数据库教师排名
技能系统是服务器判断的吗
贵州安全接入服务器地址
力控自带数据库保存时间更改
网络安全专业海报设计展
网络安全有什么属性
衡阳县网络安全宣传活动
https服务器构建
河南法信网络技术有限公司
超级云呼机服务器网址
红猫网络技术有限公司
湖北公司软件开发技术指导
数据库_用法
梦见打麻将软件开发
win傻瓜式软件开发工具
河南服务器硬盘多少钱
我的世界盗版没管理的服务器
数据库的类型是什么原因是