Question: Design and implement a variant of ArrayDeque that does not do any modular arithmetic at all. Instead, all the data sits in a consecutive block,
Design and implement a variant of ArrayDeque that does not do any modular arithmetic at all. Instead, all the data sits in a consecutive block, in order, inside an array. When the data overruns the beginning or the end of this array, a modified rebuild() operation is performed. The amortized cost of all operations should be the same as in an Array Deque. Hint: Getting this to work is really all about how you implement the rebuild() operation. You would like rebuild() to put the data structure into a state where the data cannot run off either end until at least n/2 operations have been performed. Test the performance of your implementation against the Array Deque. Optimize your implementation (by using System. Array copy(a, i, b, i, n)) and see if you can get it to outperform the Array Deque implementation.
Step by Step Solution
3.38 Rating (154 Votes )
There are 3 Steps involved in it
This question is about implementing a data structure similar to an ArrayDeque but without using modular arithmetic and still achieving similar amortized efficiency Lets break down the solution into se... View full answer
Get step-by-step solutions from verified subject matter experts
