标签: algorithm tree
这是一个家庭作业问题:
在O(n*log(n))中使用预处理算法,然后在O(1)中描述算法以回答此问题:“节点u是否是节点v的祖先? “
O(n*log(n))
O(1)
u
v
实际上我想不出任何比O(log(n))更好的算法。
O(log(n))
答案 0 :(得分:0)
在O(n*log(n))中,您可以为每个节点提供其自己的祖先列表,返回根目录。在O(1)中,节点可以回答“你离根有多远?”这两个问题。和“你的哪个祖先离根源有距离?”。