ノードの最大距離をそのノードとツリー内の他のすべてのノードの間の距離の最大値として定義します。 私の問題は、ツリー内のすべてのノードの最大距離を見つけて印刷することです(必ずしもバイナリではない)。基本的には、各ノードについて、私が見ているノードとツリー内の他のノードとの間にあるノードの最大距離をプリントアウトする必要があります。ランタイムはO(n)であると予想されます。ツリー内のすべてのノードの最大距離を直線時間で求めよ
私の最善のアプローチはすべてO(N^2)時間かかるので、この問題をどこで解決するかはわかりません。私は現在、ツリー内の各ノードの最大距離を見つけるために、ツリー内のすべてのノードでBFSを実行しますが、より良いアプローチは、何らかの形の動的プログラミングを使用することです。私は確信していません。
ご協力いただきありがとうございます。
ここで回答しているシングルソースの最長パスはhttp://stackoverflow.com/questions/10462736/graph-dijkstra-for-the-single-source-longest-pathです。 2つのノード間の最大距離を検索する場合は、グラフが表示されます。http://stackoverflow.com/questions/13501216/how-to-find-the-max-distance-between-a-set-of-nodes木の上に – thebenman