Question: public class Word implements Comparable < Word >{ public String value ; public Integer frequency ; public Word ( String value , Integer frequency ){
public class Word implements Comparable<Word>{ public String value; public Integer frequency; public Word(String value, Integer frequency){ this.value = value; this.frequency = frequency; } @Override public int compareTo(Word otherWord) { if(this.frequency.equals(otherWord.frequency)) return -1 * this.value.compareTo(otherWord.value); else return this.frequency.compareTo(otherWord.frequency); } public String toString(){ return "[" + value + ", " + frequency + "]"; } } |
public class Selector { private static void swap(Word[] array, int i, int j){ if(i == j) return; Word temp = array[i]; array[i] = array[j]; array[j] = temp; } // Problem #1 (5 pts) // Fill in the following method with an O(n*k) time algorithm // that returns the k largest elements of array in order from // largest to smallest. // Note: This should return an array with k elements. // Hint: Your approach should be similar to selection sort. // ALL comparisons must be done by the compareTo method. public static Word[] simpleSelect(Word[] array, int k){ return null; }
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
