Lab 8 Hashtables with open addressing Solution

\$30.00

Category:

Description

Problem 1

Design and implement ADT SmallSet by treating a single unsigned int word as a bit vector and the positions as members of the universe:

• Let N be sizeof(unsigned int). Then any subset of the universal set U = { 0, 1, … , N-1 } can be represented as a bit vector of size N (which in turn can be stored as an int word.)

Given S U, for any j U, (j S) iff (jth bit (counting 0 as the LSB) of S is 1)

• Adding j to S can be implemented as setting jth bit to 1; deleting as setting it to 0.

Obtaining jth bit of an int in C can be achieved by masking the vector with a bit pattern and testing it: i.e.

(S & Bj) iff (jth bit of S is 1) where Bj is all 0s except the jth bit.

Bj can be obtained by left-shifting ((unsigned int) 1) j times.

Implement typical set operations union, intersect, and difference for this SmallSet ADT. You can use the following table for designing your functions.

 Key Function Input Format Description 0 readData 0NXY N represents the size of U (taken as input for convenience). X A1 A2 A3 .. Ax and Y represent the sizes of two sets of A & B respectively. B1 B2 B3 .. By You shall need to read two sets (A & B) of integers, separated by a new line. Each set contains values with space separation. Represent A and B in the form of SmallSet ADT described above. 1 Union 1 Perform union operation on A and B (C = A ∪ B) and print C. You may sort C in ascending order first before printing. 2 Intersection 2 Perform intersection operation on A and B (C = A ∩ B) and print C. You may sort C in ascending order first before printing. 3 Difference 3 Perform difference operation on A and B (C = A – B) and print C. You may sort C in ascending order first before printing. Sample input and output Sample Input Sample Output 03256 2479101516202124 2415724 15 91615102021 24724 1 2 3

1 | P a g e

error: Content is protected !!