Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started