Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Help with Java assigment In this assignment you will be implementing the List Abstract Data Type (ADT) using two different implementations: Array Based List Linked

Help with Java assigment

In this assignment you will be implementing the List Abstract Data Type (ADT) using two different implementations:

  1. Array Based List

  2. Linked List

In addition, you will also be writing a driver to test your List implementations and you will be measuring the run times and memory usage of each test case.

You will also be using the TestTimes class that you created for Homework 1.

Finally, you will be analysing and comparing the performance of the test cases on both the Array Based List and the Linked List implementations.

Details

  1. TestTimes Class You will copy the TestTimes class that you created in Homework 1 to the project you are using for this assignment.

  2. Array Based List Class You will write the ArrayBasedList.java class which will implement the List Interface. The interface may be downloaded from ListInterface.java. Please note that you do not inherit from the TestTimes class.

  3. Linked List Class You will write the LinkedList.java class which will implement the List Interface. The interface may be downloaded from ListInterface.java. Please note that you do not inherit from the TestTimes class.

  4. Linked list Node Class Your will write the LinkedListNode. Please see the Linked List Node Documentation for all the methods you will need. Please note that you do not inherit from the TestTimes class.

  5. Driver Class You will write the Driver.java class which will implement the Driver Interface. The interface may be downloaded from DriverInterface.java. Please note that you do not inherit from the TestTimes class. However, you do have to use the TestTimes class to measure test times.

  6. Test Cases All the elements being added and removed from the lists must be instances of the Integer class. You will test the following scenarios for both the Array Based List and the Linked List implementations:

    1. Driver.TestType.AddSortedOdd: Starting with an empty list, use the addSorted(I element) method to add java.lang.Integer objects representing the odd numbers (1 n 9,999) to the list.

    2. Driver.TestType.AddSortedEven: Starting with a list containing the odd numbers less than 10,000, use the addSorted(I element) method to add java.lang.Integer objects representing the even numbers (2 n 10,000) to the list.

    3. Driver.TestType.AddAll: Starting with an empty list, use the add(I element) method to add 10,000 java.lang.Integer objects to the list.

    4. Driver.TestType.AddAllAtIndexZero: Starting with an empty list, use the add(I element, int index) method to add 10,000 java.lang.Integerobjects to the list, all at index = 0.

    5. Driver.TestType.RemoveAllEven: Starting with a complete list containing 10,000 java.lang.Integer objects representing all the numbers (1 n 10,000); remove all the even numbers by repeatedly calling the remove(int index) method. Remove the even numbers starting with 2, then 4, then 6, ....

    6. Driver.TestType.RemoveAllOdd: Starting with a complete list containing 10,000 java.lang.Integer objects representing all the numbers (1 n 10,000); remove all the odd numbers by repeatedly calling the remove(int index) method. Remove the odd numbers starting with 9,999, then 9,997, then 9,995, ....

  7. Output From Driver Main Method Please note that, in addition to implementing the DriverInterface, you are also required to write your own public static main(String[] args)method in Driver.java. Your main() method will have to call the runTestCase() method for each of test cases listed above a total of ten times for each test case: For each call to the runTestCase() method your main() method will print out a table with the following output for the Array Based List and the Linked List implementations:

Running test = Test Case Name

Run 1

Run 2

Run 3

Run 4

Run 5

Run 6

Run 7

Run 8

Run 9

Run 10

AverageSeconds

Memory Usage

Mega Bytes

-------

-------

-------

-------

-------

-------

-------

-------

-------

-------

-------

-------

ArrayBasedList

LinkedList

Please note that the test times and the average are in Seconds and the memory usage is in Mega Bytes. You will need to make the necessary conversions.

-

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

Explain how a cloud architecture works.

Answered: 1 week ago

Question

1. Derive an LM curve incorporating the ZLB

Answered: 1 week ago