Java如何求树的直径
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇内容主要讲解"Java如何求树的直径",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java如何求树的直径"吧!package com.lifeibig
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
班级电信网络安全调查
长春智能网络技术服务
信息网络安全技术评估
美国火眼系统网络安全防护
福建软件开发订制
数据转发服务器
易安信服务器管理
金华网站建设数据库软件
2d视觉系统利用软件开发
rustdesk自建服务器视频
癌症在中国的数据库
pbl项目总结表软件开发文档
西城区数据网络技术咨询
dns服务器一般选什么
数据库dba
艺龙的网络技术
爬虫 服务器瘫痪
自动管理没有谷歌服务器
计算机网络技术学网络攻防
山东交友软件开发机构
创造与魔法如何建造个人服务器
我的世界焰影服务器
cam软件开发书籍
服务器机柜 辐射
数据库审计无流量
数据库布局怎么设置
数据库案例分析考研
计算机网络技术试题文本
南通乐互互联网科技公司
安装网络安全稿件