Suppose we want to add an extra operation, deunion, which undoes the last unionoperation | StudySoup

Textbook Solutions for Data Structures and Algorithm Analysis in Java

Chapter 8 Problem 8.10

Question

Suppose we want to add an extra operation, deunion, which undoes the last unionoperation that has not been already undone.a. Show that if we do union-by-height and finds without path compression, thendeunion is easy and a sequence of M union, find, and deunion operations takesO(M logN) time.b. Why does path compression make deunion hard? c. Show how to implement all three operations so that the sequence of Moperations takes O(M logN/log logN) time.

Solution

Step 1 of 6)

The first step in solving 8 problem number 10 trying to solve the problem we have to refer to the textbook question: Suppose we want to add an extra operation, deunion, which undoes the last unionoperation that has not been already undone.a. Show that if we do union-by-height and finds without path compression, thendeunion is easy and a sequence of M union, find, and deunion operations takesO(M logN) time.b. Why does path compression make deunion hard? c. Show how to implement all three operations so that the sequence of Moperations takes O(M logN/log logN) time.
From the textbook chapter The Disjoint Set Class you will find a few key concepts needed to solve this.

Step 2 of 7)

Visible to paid subscribers only

Step 3 of 7)

Visible to paid subscribers only

Subscribe to view the
full solution

Title Data Structures and Algorithm Analysis in Java 3 
Author Mark A. Weiss
ISBN 9780132576277

Suppose we want to add an extra operation, deunion, which undoes the last unionoperation

Chapter 8 textbook questions

×

Login

Organize all study tools for free

Or continue with
×

Register

Sign up for access to all content on our site!

Or continue with

Or login if you already have an account

×

Reset password

If you have an active account we’ll send you an e-mail for password recovery

Or login if you have your password back