我正在尝试在java中实现n叉树中多个节点的LCA。我正在使用句子的解析树,因此假设节点的子节点数 <= 6 是合理的。这里的多个节点是一个句子中的两个短语(连续单词序列)。设 k 为涉及的节点数。
一种方法是找到 k/2 对的两个节点的 LCA,我们将得到 k/2 个节点。现在在这些 k/2 节点上递归。顺序为 O(nlog k),其中 O(n) 是线性 LCA 查找算法的复杂度。我可以更有效地做到这一点吗?
我正在尝试在java中实现n叉树中多个节点的LCA。我正在使用句子的解析树,因此假设节点的子节点数 <= 6 是合理的。这里的多个节点是一个句子中的两个短语(连续单词序列)。设 k 为涉及的节点数。
一种方法是找到 k/2 对的两个节点的 LCA,我们将得到 k/2 个节点。现在在这些 k/2 节点上递归。顺序为 O(nlog k),其中 O(n) 是线性 LCA 查找算法的复杂度。我可以更有效地做到这一点吗?