Questions: Link-Cut Trees

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

What is the role of splay trees within the link-cut tree data structure?

AEach node in the represented forest is stored in a single global splay tree
BEach preferred path in the represented forest is stored as a splay tree, keyed by depth, so that path operations (find root, aggregate, update) can be performed in O(log n) amortized time by splaying and traversing the auxiliary tree
CSplay trees are used only for balancing the forest, not for query operations
DEach child pointer in the represented forest is replaced by a splay tree of that child's subtree
Question 2 True / False

The access(v) operation in a link-cut tree makes v the root of its auxiliary splay tree and makes the path from v to the root of its represented tree the preferred path. This operation runs in O(n) worst-case time but O(log n) amortized time.

TTrue
FFalse
Question 3 Short Answer

Explain how link-cut trees improve the running time of maximum flow algorithms.

Think about your answer, then reveal below.
Question 4 Multiple Choice

Link-cut trees support make-tree, link, and cut operations. Which of the following correctly describes the link operation?

ALink(u, v) makes u a child of v in the represented forest, requiring that u is currently a root of its tree and u and v are in different trees
BLink(u, v) merges the splay trees of u and v without changing the represented forest
CLink(u, v) swaps the subtrees of u and v
DLink(u, v) makes v a child of u regardless of whether v is a root
Question 5 True / False

Link-cut trees can be used to maintain a dynamic forest under edge insertions and deletions. They cannot answer lowest-common-ancestor (LCA) queries.

TTrue
FFalse