zoukankan      html  css  js  c++  java
  • 在最长的距离二叉树结点

    分为两:①当后最长的距离root

                    ②没有距离最长root,

    1.      若路径经过根Root。则U和V是属于不同子树的,且它们都是该子树中道根节点最远的节点。否则跟它们的距离最远相矛盾。这样的情况如图3-13所看到的:

    求二叉树中节点的最大距离 - seven - Seven 的博客

    2.      假设路径不经过Root。那么它们一定属于根的K个子树之中的一个。

    而且它们也是该子树中相距最远的两个顶点。如图3-14中的节点A:

    求二叉树中节点的最大距离 - seven - Seven 的博客


    设第K棵子树中相距最远的两个节点:Uk和Vk,其距离定义为d(Uk,Vk),那么节点Uk或Vk即为子树K到根节点Rk距离最长的节点。不失一般性。我们设Uk为子树K中道根节点Rk距离最长的节点。其到根节点的距离定义为d(Uk,R)。取d(Ui,R)(1<=i<=k)中最大的两个值max1和max2。那么经过根节点R的最长路径为max1+max2+2,所以树R中相距最远的两个点的距离为:max{d(U1,V1),…, d(Uk,Vk),max1+max2+2}。

     

    採用深度优先搜索如图3-15,仅仅须要遍历全部的节点一次,时间复杂度为O(|E|)=O(|V|-1),当中V为点的集合。E为边的集合。

     求二叉树中节点的最大距离 - seven - Seven 的博客


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    nginx rewrite 伪静态重写学习笔记
    正则表达式相关知识
    rpm的含义
    find命令的使用
    chmod的运用方式
    [GO]数组的比较和赋值
    [GO]二维数组的介绍
    [GO]变量内存和变量地址
    [GO]给导入包起别名
    阿里云负载均衡SLB 七层https协议 nginx 获取真实IP
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4791008.html
Copyright © 2011-2022 走看看