Suppose that the ArrayStack resized (grew) by creating a new array of size ℓ each time.

This assignment will have a low weight as compared to the other (coding) assignments.  I suggest you write the assignment by hand but you are free to use whatever means you want as long as you submit a hard-copy.


Problem 1

There are five (5) classes presented in Chapter 2 of the textbook. Write a BRIEF summary of each class. Be sure to include the runtimes, both worst case and amortized, and any details of the implementations (actual code) that is relevant to such things as resizing or balancing.

Problem 2

Suppose that the ArrayStack resized (grew) by creating a new array of size  each time.  The value of  is arbitrary but finite (and fixed). Show that the worst case of adding an element is no longer O(1). In particular, show that the cost of resizing no longer has an amortized constant cost.


Problem 3

In the DualArrayDeque class, the implementation always maintains that 3fb and 3bf. Prove that for list index i,


  1. If 0i<n/4 then we are in the front stack.
  2. if 34/4<in then we arein the back stack.


Problem 4

Suppose we have a RootishArrayStack with many elements. Which block and local index within that block would list item i be when


  • the list index is i=47
  • the list index is i= your student number
Type of paper Academic level Subject area
Number of pages Paper urgency Cost per page: