[Link Cut Tree] 2. 연산 (1) void link(node * x, node * y) { access(x); access(y); x->l = y; y->p = x; update(x); }Link 연산은 x의 부모를 y 노드로 만드는 연산입니다.Link 연산을 할 때 x는 한 트리의 루트여야 하고, x와 y는 다른 트리에 있어야 합니다.x와 y에 모두 Access하면, x와 y가 각각의 Splay Tree에서 루트가 됩니다.x->l (x가 트리의 루트이므로 NULL)을 y로 만들어주면 y가 x의 부모가 됩니다.여기서 포인터를 끊거나 붙일 때는 항상 update를 해주어야 합니다. void cut(node * x) { access(x); x->l->p = 0; x->l = 0; update(x); } Cut 연산은 x와 x의 부모 사이의 .. 더보기 이전 1 ··· 19 20 21 22 23 24 다음