이는 숙제 질문이다 "노드 u
여부 노드 v
의 조상입니까? "전처리 n 개의 * 로그를 사용하여 트리 (N) 알고리즘
실제로 나는 어떤 알고리즘도 O(log(n))
보다 좋다고 생각하지 않습니다.
이는 숙제 질문이다 "노드 u
여부 노드 v
의 조상입니까? "전처리 n 개의 * 로그를 사용하여 트리 (N) 알고리즘
실제로 나는 어떤 알고리즘도 O(log(n))
보다 좋다고 생각하지 않습니다.
O(n*log(n))
에서 각 노드에 루트로 돌아가 자신의 조상 목록을 제공 할 수 있습니다. O(1)
에서 노드는 "루트에서 얼마나 떨어져 있니?"라는 질문 중 하나에 대답 할 수 있습니다. "네 조상 중 누가 뿌리에서부터 거리 k인지?".
이것은 http://en.wikipedia.org/wiki/Lowest_common_ancestor의 특수한 사례이며 O (n) 전처리 후 시간 O (1)의 LCA를 찾는 알고리즘이 있음을 알 수 있습니다. 분명히, u는 LCA (u, v) = u이면 v의 조상입니다. – mcdowella