EssayGhost Assignment代写,Essay代写,网课代修,Quiz代考

EssayGhost-Essay代写,作业代写,网课代修代上,cs代写代考

一站式网课代修,论文代写

高质量的Assignment代写、Paper代写、Report代写服务

EG1hao
网课代修代上,cs代写代考
Java代做
您的位置: 主页 > 编程案例 > Java代做 >
代做Java:algorithm代写 data structures代写 application代写 - Java代做
发布时间:2021-07-25 21:27:20浏览次数:
As you notice, there are keys for digits 1–9, used for dialing phone numbers.But these keys were also used to enter letters a–z. When a text message needed to be entered, the keys corresponding to the letters would be used. However, since there are multiple letters on each key, the required letter needed to be disambiguated somehow.algorithm代写In the basic system without predictive text, the user must press the  appropriate  key  a number of times for a particular letter to be shown. Consider the word “hello”. With this method, the user must press 4, 4, 3, 3, 5, 5, 5, then pause, then 5, 5, 5, 6, 6, 6.To enter text more easily, the system of predictive text (also called “T9”) was devised. The user presses each key  only once and the mobile phone uses a dictionary to guess what word       is being typed using a dictionary, and displays the possible matches. So the word “hello” can be typed in 5 button presses “43556” without pauses, instead of 13 in the standard system. The numeric string “43556” is referred to as a “signature” of the world “hello”.  If this is the only match,  the user can press space and carry on.  If there are multiple matches,  the user   might need to select one of them before proceeding.A given numeric-signature may  correspond  to  more  than  one  word.Predictive  text technology is possible by restricting available words to  those  in  a  dictionary.  Entering  the  numeric signature “4663” produces the words “gone” and “home” in many dictionaries.algorithm代写In this exercise, you will design and develop a predictive text system. For simplicity, assume that the user does not need punctuation or numerals. You must also limit your solutions to producing only lower-case words.The final version of your programs should use the words dictionary available with the worksheet on canvas. However, during testing, it is better for you to create a small dictionary file of your own for which you know what outputs to expect.All the classes in this worksheet should be placed in a package called predictive. Use the class/method names given in the questions.1 Prototypes and Design (25%) algorithm代写This part deals with building a “prototype” for the predictive text problem, which is not expected to be efficient, but it will be simple and allow you to compare it with the efficient implementation to be done in later parts.Write the first two methods in a class named PredictivePrototype inside the packagepredictive.1.(5%) :  Write a method wordToSignature with thetype:public static String wordToSignature(String word)algorithm代写The method takes a word and returns a numeric signature. For example, “home” should return “4663”.  If the word has any non-alphabetic characters, replace them with a “  ” (space) in the resulting signature. Accumulate the result character-by-character.You should do this using the StringBuffer class rather than String. Explain, in your comments, why this will be more efficient.2.(10%): Write another method signatureToWords with thetype:public static Set String signatureToWords(String signature)It takes the given numeric signature (passed to it as a String) and returns a set of possible matching words from the dictionary (as a Set of Strings). The returned list must not have duplicates and each word should be in lower-case.algorithm代写The method signatureToWords will need to use the dictionary to find words that match the string signature and return all the matching words.In this part of the exercise, you should not store the dictionary in your Java program. Explain in the comments why this implementation will be inefficient.3.(10%): Create command-line programs (classes with main methods) asfollows:Words2SigProto for calling the wordToSignature method,andSigs2WordsProto for calling the signatureToWords algorithm代写Each program must accept a list of strings and call the appropriate method to do the conversion.Hints:Use the Scanner class to read the dictionary line by line, assuming there is only one word per line.When reading the dictionary, ignore lines with non-alphabetic characters. A useful helper method to accomplish this would be:static boolean isValidWord(String word)algorithm代写in PredictivePrototype, which checks if a given word is valid.Words in the dictionary with upper case letters should be converted to lower-case because only lower-case letters should be returned by the signatureToWords method.You should be able to complete this part of the Worksheet and test it in about one lab session.To create the command-line programs, you will need to use the args array of the method:public static void main(String[] args)algorithm代写which contains the command line input. For example, when executingjava predictive.Words2SigProto Hello World! this is the inputthe args array will contain[ Hello , World! , this , is , the , input ]You should ignore any words with non-alphabetic characters given in the input ofSigs2WordsProto.algorithm代写Format the output of Sigs2WordsProto as one line per signature, as there may be more than one word for a given numeric signature. E.g.java predictive.Sigs2WordsProto 4663 329 4663 : good gone home hone hood hoof329 : dax fax faz day fay dazthe actual output you get will depend on the dictionary used.algorithm代写Notice that the package name predictive qualifies the class name, and this command works in the main directory.The program Words2SigProto can be tested by converting large amounts of text to signatures, the output can be used to test Sigs2WordsProto (and later, in timing comparisons). Try using news articles to start with.algorithm代写2 Storing and Searching a Dictionary(25%)In the remaining parts of the worksheet, you are asked to implement a number of dictionary classes that will be more efficient than the prototype. All of these classes should implement this interface:public interface Dictionary{public Set String signatureToWords(String signature);}The required method signatureToWords finds the possible words that could correspond to a given signature and returns them as a set.algorithm代写In this part, you will read and store the dictionary in memory as a list of pairs. As the list will be sorted and in memory, a faster look-up technique can be used.1.(15%) : Create a class namedListDictionary.Write a constructor for the class ListDictionary that takes a String path to the dictionary, reads and stores it in an ArrayList. Each entry of the ArrayList must be a pair, consisting of the word that has been read in and its signature. For this purpose, you will need to create a class named WordSig that pairs words and signatures (see the hints).The wordToSignature method will be the same so you can re-use the code from the first part.algorithm代写The signatureToWords method must be re-written as an instance method in the ListDictionary class to use the stored dictionary. The ArrayList WordSig must be stored in sorted order and the signatureToWords method must use binary search to perform the look-ups.2.(10%): Design and create a command-line program Sigs2WordsList for testing theListDictionary class.Compare the time taken to complete the execution of Sigs2WordsList and Sigs2- WordsProto with the same large input(s). Is it possible to make the time difference between Sigs2WordsList and Sigs2WordsProto noticeable? Make a note of the data you use and your timing results.Hints :Createa class which pairs the numeric signatures with words, like this:public class WordSig implements Comparable WordSig { private String words;private String signature;public WordSig (...) { ... }public int compareTo(WordSig ws) { ... }}Whenyou read the dictionary you will need to create new WordSigAlist of Comparable objects can be sorted using the method sort1.To automatically sort a list using the collections API, the objects WordSig stored in the list must implement the Comparable interface. That means they must have a compareTo( ) method. compareTo returns -1, 0 or 1 according to whether the current object is less than, equal to, or greater than the argument object, in  the intended ordering.algorithm代写
\
所有的编程代写范围:essayghost为美国、加拿大、英国、澳洲的留学生提供C语言代写、代写C语言、C语言代做、代做C语言、数据库代写、代写数据库、数据库代做、代做数据库、Web作业代写、代写Web作业、Web作业代做、代做Web作业、Java代写、代写Java、Java代做、代做Java、Python代写、代写Python、Python代做、代做Python、C/C++代写、代写C/C++、C/C++代做、代做C/C++、数据结构代写、代写数据结构、数据结构代做、代做数据结构等留学生编程作业代写服务。