月度档案:2015年11月

在树上行走

昨天我学习了一个很酷的算法,可以直观地描述如下:

选择一个起始节点,尽可能走远,转身,然后再尽可能走多远。

听起来不太复杂吧?但它实际上解决了一个非平凡的问题:它发现直径在线性计算时间内。树的直径是指树上最长的行走距离。例如,下面的树的直径为8,因为树上最远的行走距离要经过8个环节。实际上有三条步行路,长度为8,我们显示节点之间的一条第页q个以下为:

树木直径

继续阅读在树上行走