The purpose of this assignment is to implement sorting algorithms for the autocomplete application.
Write a program to implement autocomplete for a given set of N terms, where a term is a query string and an associated nonnegative weight. That is, given a prefix, find all queries that start with the given prefix, in descending order of weight. Autocomplete is pervasive in modern applications. As the user typess, the program predicts the complete query (typically a word or phrase) that the user intends to type. Autocomplete is most effective when there are a limited number of likely queries.
In this assignment. you will implement autocomplete by sorting the terms by query
string (with running time O(N log N) in sorting, or even better, where N is the of
terms); binary searching to find all query strings that Start With a given prefix (With
running time O(log N)); and sorting the matching terms by weight (With running time
O(M log M) in sorting, where M is the number of matching terms). Finally display
results for the user. The following shows the top seven queries (city names) that start
with Al M with weights equal to their populations. example, the Internet Movie Database uses it to display the names Of movies as the user types; search engines use it to display suggestions as the user enters web search queries; cell phones use it to speed up text input.
4. Turn in
One submission for a team. Submit java, BinarysearchDe1uxe. java,
and java. You may not call any library functions other than those in java. lang
and java .util. Finally, submit a report file (10 points) and answer the following
a) Known bugs limitations of this assignment.
b) Describe any serious problems you encountered.
c) List any Other comments here. Feel free to provide any feedback on how much you
learned from doing the assignment, and whether you enjoyed doing it.