Logo Data Structures and Algorithms with Object-Oriented Design Patterns in C++
next up previous contents index

Projects

  1. Complete the SetAsArray class declared in Program gif by providing suitable definitions for the following member functions: SetAsArray (destructor), Purge, IsEmpty, IsFull, Count, Accept, and NewIterator. Write a test program and test your implementation.
  2. Complete the SetAsBitVector class declared in Program gif by providing suitable definitions for the following member functions: SetAsBitVector (destructor), Purge, IsEmpty, IsFull, Count, Accept, and NewIterator. Write a test program and test your implementation.
  3. Rewrite the Insert, Withdraw and IsMember member functions 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 routines with the original ones and explain your observations.
  4. Complete the MultisetAsArray class declared in Program gif by providing suitable definitions for the following member functions: MultisetAsArray (destructor), Purge, Count, Accept, and NewIterator. Write a test program and test your implementation.
  5. Complete the MultisetAsLinkedList class declared in Program gif by providing suitable definitions for the following member functions: SetAsArray (destructor), Purge, IsEmpty, IsFull, Count, CompareTo, Accept, and NewIterator. Write a test program and test your implementation.
  6. 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 tex2html_wrap_inline67958, where i an the element of the universal set U and tex2html_wrap_inline62818 is a non-negative integer that counts the number of instances of the element i in the multiset. (See Exercises gif and gif).
  7. Write a program to compute the number of ways in which a set of n elements can be partitioned. I.e., compute tex2html_wrap_inline67606 where

    displaymath68016

    Hint: See Section gif.


next up previous contents index

Bruno Copyright © 1997 by Bruno R. Preiss, P.Eng. All rights reserved.