# Learning Goal: I’m working on a java exercise and need a sample draft to help me

Learning Goal: I’m working on a java exercise and need a sample draft to help me learn.This algorithm takes an unsorted array of integer numbers as input and sorts it in descending order, by repeatedly doing the following: first, it searches in the whole array for the greatest element.
it then puts this element to the beginning of the array.
then, it searches the whole array excluding the first element for the greatest value and puts it to the second position.
Using Java code, Implement the algorithm according to two different strategies:A. By using the method shiftRight(int[] A, int i, int j): if the maximum element is found in position j and needs to be put into position i, then (i) shift A to the right, starting from position i, while remembering the element in position j that will be overridden; (ii) copy the remembered element to position i.B. By using the method swap(int[] A, int i, int j): if the maximum element is found in position i and needs to be put into position j, then use swap to exchange the element in position i with the element in position j.Then Find out which of the two algorithms is faster. Is there an array size for which the running times crosse over? (A size N would be such a cross-over point if for inputs of size less than N, the running times of one algorithm are better, while for inputs of size greater than N, the running times of the other algorithm are better.)To perform your measurements, write a test class that1. creates random arrays of size n = 10, 100, 1000, etc., and2. for each array created, sorts it using the two implementations of the algorithm and measures the running times.To measure the running time use the Java method System.nanoTime() in the following way:long startTime = System.nanoTime();… the code being measured …long estimatedTime = System.nanoTime()-startTime;
Requirements: 1 page   |   .doc file

Published
Categorized as Java