【发布时间】:2016-11-22 05:46:18
【问题描述】:
将节点的最大距离定义为距离的最大值 在该节点和树中的所有其他节点之间。我的问题是查找并打印树中所有节点的最大距离(不一定是二进制或任何东西)。基本上,对于每个节点,我需要打印出该节点在我们正在查看的节点与树中的任何其他节点之间的最大距离。运行时间预计为 O(n)。
我最好的方法都需要 O(N^2) 时间,我不确定还有什么地方可以解决这个问题。我目前在树中的每个节点上运行 BFS 以找到树中每个节点的最大距离,但我认为更好的方法可能是使用某种形式的动态编程。不过我不确定。
提前感谢您的帮助。
【问题讨论】:
-
你要问的问题单打源最长路径,这里回答stackoverflow.com/questions/10462736/…。如果您正在寻找两个节点之间的最大距离是一个图,那么可以stackoverflow.com/questions/13501216/…
标签: c++ algorithm tree graph-theory breadth-first-search