Description
This assignment asks you to implement a number of methods for a class Complexity. These methods should be implemented using for loops, as seen in class (except for the extra-credit one). In addition, each of these methods should print out the value of an accumulator that counts the number of “operations” performed. The notion of “operation” should be taken loosely; the idea is that if you are requested to implement a method of time complexity O(n), then it should print out values from 1 to n (or close enough). For example, the following code implements a method that has time complexity O(n): 2 4 6 The methods you should implement are: • public static void method1(int n): a method that has time complexity O(n 2 ). void public method0(int n) { int counter=0; for (i=0; i<n; i++) { System.out.println(“Operation “+counter); counter++; } } 1 • public static void method2(int n): a method that has time complexity O(n 3 ). • public static void method3(int n): a method that has time complexity O(logn). • public static void method4(int n): a method that has time complexity O(nlogn). • public static void method5(int n): a method that has time complexity O(loglogn). • (Optional) public static int method6(int n): a method that has time complexity O(2n ). For this method you should consider using recursion. This can give you extra points if you miss any points from the previous methods, but the cap for the assignment is 100pts. You cannot exceed 100pts with answering this extra-credit question. 3 Submission instructions Your source code file has to be named Complexity.java. Compress this file into a zip file, and rename it to hw2_.zip. Submit the zip file mentioned above through Canvas. No report is required. 2