Javaのn分木に複数ノードのLCAを実装しようとしています。私は文の解析ツリーを扱っているので、ノードの子の数 <= 6 と仮定するのは合理的です。ここでの複数のノードは、文内の 2 つのフレーズ (連続した単語シーケンス) です。関係するノードの数を k とします。
1 つの方法は、k/2 ペアの 2 つのノードの LCA を見つけることで、k/2 ノードが得られます。これらの k/2 ノードで再帰します。順序は O(nlog k) になります。ここで、O(n) は線形 LCA 発見アルゴリズムの複雑さです。もっと効率的にできますか?