Selection in an Array Solution

Selection in an Array Solution

This assignment focuses on implementing the methods of a class much like java.util.Arrays – a library class with static methods designed to provide useful functionality on arrays. The class that you will be completing is designed to provide a set of selection methods (e.g., minimum, maximum, etc.) on arrays. You must correctly implement all method bodies of the provided Selector class. Your implementation must adhere exactly to the API of the Selector class, as described in the source code comments. Deviation from any aspect of the API, or the items listed below, will result in a deduction of points. Other specific requirements and notes:

 

•        You must not add any public methods to the Selector class. You are free to add any private methods that you think appropriate, but you can't add any public methods.

•        You must not add any fields, either public or private, to the Selector class.

•        You must not import anything other than java.util.Arrays, but you are not required to do even that.

•        You must not modify the existing constructor or add other constructors. This class is designed to be strictly a provider of static methods and should not be instantiated.

•        The kmin and kmax evaluation must be interpreted in terms of a dense ranking (http://en.wikipedia.org/wiki/Ranking). For example, suppose the array contained the six elements (five distinct values) [12, 2, 8, 4, 2, 10]. Then for k = 1, kmin = 2 and kmax = 12; k = 2, kmin = 4, kmax = 10; k = 3, kmin = 8, kmax = 8; k = 4, kmin = 10, kmax = 4; k = 5, kmin = 12, kmax = 2.

•        Record your name and TigerMail in the provided @author tag.

•        Replace the date in the @version tag with the current date each time you work on the file.

•        Your submission will be graded against a test suite written by the course staff. If your submission does not compile with the test suite, you will receive a score of zero points for the assignment.

•        Your submission must be solely your own work. Discussing ideas and general approaches to a problem is fine, but sharing source code, even small sections of it, is considered a violation of the academic honesty policy.

•        You are encouraged to ask and answer questions on Piazza regarding the assignment.

•        Good coding style is expected. An excellent discussion on style can be found in the CACM article Coding Guidelines: Finding the Art in the Science by Green and Ledgard (http://cacm.acm.org/magazines/2011/12/142527-coding-guidelines-finding-the-art-in-the-science/fulltext). Run Checkstyle with the configuration file for 2210 on your Selector.java file before submitting your solution. Try to only submit code that passes the Checkstyle audit.
Powered by