首页 > 代码库 > 算法题之求二叉树的最大距离
算法题之求二叉树的最大距离
二叉树是一种非常经典的数据结构。如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序求一棵二叉树中相距最远的两个节点之间的距离。
下面我们随意构造出一棵二叉树,计算它的最大距离,如上图,节点之间单位距离为1,最大距离(红色线条)为5。
考虑使用中序遍历+递归的方法计算,用Java实现的代码如下:
package com.algo; public class LearnTree { //树的结构如下: /* 1 4 2 5 3 6 7*/ int maxLength = 0; public static void main(String[] args) { LearnTree learnTree = new LearnTree(); learnTree.calMaxLength(); System.out.println("二叉树最大距离:" + learnTree.maxLength); } public void calMaxLength() { Node head=new Node(); head.data=http://www.mamicode.com/1; // 根节点赋初值>
算法题之求二叉树的最大距离
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。