树的直径证明

树的直径又称树上最长的路,结论为从某一点搜出最长的路径一定是s或t点,再用一次搜索就会找出树的直径

只要运用的就是反证法。

现在假设s到t是树的直径。

取某一点u,搜到的最远点为x;

1. u在s-t路径上:

如果u在直径上,那么下一步肯定会搜到直径的某点,(如果,不是直径的某点的话,那么,dis(u,x)+dis(s+x)就会大于dis(s,t)这样就会与假设相违背)成立。

2. u不在s-t路径上:

(1)u最后走到了是s-t这条路上,那么x最后为s或t的某一点,则直径为dis(u,x)+dis(x,s);

(2)u走到最远点的路径u-T与s-t无交点,则dis(u-T) >dis(u,X)+dis(X,t);显然,如果这个式子成立,

    则dis(u,T)+dis(s,X)+dis(u,X)>dis(s,X)+dis(X,t)=dis(s,t)最长路不是s-t矛盾;

原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/5944856.html