Complete the SetAsArray class
introduced in Program
by providing suitable definitions for the following operations:
Purge, IsEmpty, IsFull, Count,
Accept, and GetEnumerator.
Write a test program and test your implementation.
Complete the SetAsBitVector class
introduced in Program
by providing suitable definitions for the following methods:
Purge, IsEmpty, IsFull, Count,
Accept, and GetEnumerator.
Write a test program and test your implementation.
Rewrite the Insert, Withdraw, and IsMember
methods of the SetAsBitVector implementation
so that they use bitwise shift and mask operations
rather than division and modulo operations.
Compare the running times of the modified methods
with the original ones and explain your observations.
Complete the MultisetAsArray class
introduced in Program
by providing suitable definitions for the following methods:
Purge, Count, Accept, and GetEnumerator.
Write a test program and test your implementation.
Complete the MultisetAsLinkedList class
introduced in Program
by providing suitable definitions for the following methods:
Purge, IsEmpty, IsFull, Count,
CompareTo, Accept, and GetEnumerator.
Write a test program and test your implementation.
Design and implement a multiset class
in which the contents of the set are represented by
a linked list of ordered pairs of the form ,
where i an the element of the universal set U
and is a non-negative integer that counts the number
of instances of the element i in the multiset.
(See Exercises and ).
Write a program to compute the number of ways
in which a set of n elements can be partitioned.
That is, compute
where