The Java API is a detailed list of permissible operations (Javadoc) on ArrayList and LinkedList. However, in Table 1 we present a list of operations (and their descriptions) that are most interesting


  • The Java API is a detailed list of permissible operations (Javadoc) on ArrayList and LinkedList. However, in Table 1 we present a list of operations (and their descriptions) that are most interesting to us (which is a proper subset of the list referenced for the original Java implementations for both cases) for the purpose of this assignment. Similarly, in Figure 1, we present a class model of the internal structure of the expected implementation. You are required to base your implementation on generics, so that your implementations will be type-independent.The Java API is a detailed list of permissible operations (Javadoc) on ArrayList and LinkedList. However, in Table 1 we present a list of operations (and their descriptions) that are most interesting to us (which is a proper subset of the list referenced for the original Java implementations for both cases) for the purpose of this assignment. Similarly, in Figure 1, we present a class model of the internal structure of the expected implementation. You are required to base your implementation on generics, so that your implementations will be type-independent.The Java API is a detailed list of permissible operations (Javadoc) on ArrayList and LinkedList. However, in Table 1 we present a list of operations (and their descriptions) that are most interesting to us (which is a proper subset of the list referenced for the original Java implementations for both cases) for the purpose of this assignment. Similarly, in Figure 1, we present a class model of the internal structure of the expected implementation. You are required to base your implementation on generics, so that your implementations will be type-independent. C. Tasks To Be Completed You are required to complete the following tasks: 50 points Implement ArrayBasedList and the SinglyLinkedList with the specification (or requirements) presented in Table 1. Implementation of other relevant or helper methods should have private acces1 COMP 251: Assignment 1 — List Implementation & Analysis Opeyemi Adesina, PhD Figure 1: List specification model sibility specifications while all APIs shall have public access modes. I will be developing test cases to assess correctness of your implementations. 40 points For each pair of accessor and modifier methods, conduct a performance study (using different input sizes like, 100, 1,000, 10,000, 100,000, 250,000). (a) For each input size, generate at least two test cases. (b) For each test case, run the program for at least three times (preferably in milliseconds) and collect the time value and take the average of all the runs. (c) Plot the results (average execution time against the input size) on the same graph. 10 points Discuss your findings and results. Particularly, which of the implementations do you think would work best for any particular situations you could think of assuming you are a Solution Architect.The Java API is a detailed list of permissible operations (Javadoc) on ArrayList and LinkedList. However, in Table 1 we present a list of operations (and their descriptions) that are most interesting to us (which is a proper subset of the list referenced for the original Java implementations for both cases) for the purpose of this assignment. Similarly, in Figure 1, we present a class model of the internal structure of the expected implementation. You are required to base your implementation on generics, so that your implementations will be type-independent. C. Tasks To Be Completed You are required to complete the following tasks: 50 points Implement ArrayBasedList and the SinglyLinkedList with the specification (or requirements) presented in Table 1. Implementation of other relevant or helper methods should have private acces1 COMP 251: Assignment 1 — List Implementation & Analysis Opeyemi Adesina, PhD Figure 1: List specification model sibility specifications while all APIs shall have public access modes. I will be developing test cases to assess correctness of your implementations. 40 points For each pair of accessor and modifier methods, conduct a performance study (using different input sizes like, 100, 1,000, 10,000, 100,000, 250,000). (a) For each input size, generate at least two test cases. (b) For each test case, run the program for at least three times (preferably in milliseconds) and collect the time value and take the average of all the runs. (c) Plot the results (average execution time against the input size) on the same graph. 10 points Discuss your findings and results. Particularly, which of the implementations do you think would work best for any particular situations you could think of assuming you are a Solution Architect.The Java API is a detailed list of permissible operations (Javadoc) on ArrayList and LinkedList. However, in Table 1 we present a list of operations (and their descriptions) that are most interesting to us (which is a proper subset of the list referenced for the original Java implementations for both cases) for the purpose of this assignment. Similarly, in Figure 1, we present a class model of the internal structure of the expected implementation. You are required to base your implementation on generics, so that your implementations will be type-independent. C. Tasks To Be Completed You are required to complete the following tasks: 50 points Implement ArrayBasedList and the SinglyLinkedList with the specification (or requirements) presented in Table 1. Implementation of other relevant or helper methods should have private acces1 COMP 251: Assignment 1 — List Implementation & Analysis Opeyemi Adesina, PhD Figure 1: List specification model sibility specifications while all APIs shall have public access modes. I will be developing test cases to assess correctness of your implementations. 40 points For each pair of accessor and modifier methods, conduct a performance study (using different input sizes like, 100, 1,000, 10,000, 100,000, 250,000). (a) For each input size, generate at least two test cases. (b) For each test case, run the program for at least three times (preferably in milliseconds) and collect the time value and take the average of all the runs. (c) Plot the results (average execution time against the input size) on the same graph. 10 points Discuss your findings and results. Particularly, which of the implementations do you think would work best for any particular situations you could think of assuming you are a Solution Architect.P