現在、私はプログラムに取り組んでいます。そのステップの 1 つは、葉 c が二分木 T の他の 2 つの葉 a および b と同じサブツリーにあるかどうかをチェックすることです。私の現在のアプローチは次のとおりです。 T の葉の各ペアの LCA を取得し、辞書に格納します。次に、ツリーの各ノードについて、その子孫であるすべての葉を見つけて、辞書にも保存します。次に、c が a および b と同じサブツリーにあるかどうかを判断する必要がある場合、a および b の LCA を見つけ、c がその子孫であるかどうかを確認します。
このステップを多くの異なるペア a と b に対して実行する必要があり、600 ものリーフを持つバイナリ ツリーで実行する必要があります。この同じタスクを実行する、より高速なアルゴリズム、またはおそらくメモリ使用量が少ないアルゴリズムはありますか? ありがとう。