주어진 트리 (트리별로, N 노드, N-1 에지를 의미하며 연결됨)는 트리의 루트가 이되도록 변경됩니다. 이제 다른 노드에서 을이라고하면 이라는 하위 트리에있는 모든 노드의 합계를 찾아야합니다. 나는 그것을 C++로 구현하려했다. 나는 벡터지도 [t]를 반복하는 경우트리의 루트가 변경되면 어떻게 될까요?
std::map<int, std::vector< pair<int,int> > > map;
, 나는 그것이 R로 연결되는 경로로 이동하지 않도록해야합니다. 어떻게 그걸 보장할까요? 또한 트리의 루트가 변경 될 수있는 조건을 고려하여 C++에서 트리를 저장하는 더 좋은 방법이 있습니까? 나는지도가 뿌리에 관해 무엇인가 전하지 않기 때문에있을 것이라고 생각합니다. :)