Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

14923 sunset gardens ct victorville

06/12/2021 Client: muhammad11 Deadline: 2 Day

Computer Science Homework

1. Purpose

The purpose of this assignment is to implement sorting algorithms for the autocomplete application. 2. 2.Description

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 types, 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. For 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.

See More Detial In the Attachment "as3-S17"

CPS 350: Assignment 3 Due 11:55 pm, Wednesday, 3/15/2017 (200 pts)

This is a team project. At most two students are in one team

No late submission will be accepted

Receive 5 bonus points if turn in the complete work without errors at least one day before deadline

Receive an F for this course if any academic dishonesty occurs

1. Purpose The purpose of this assignment is to implement sorting algorithms for the autocomplete

application.

2. Description

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 types, 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. For

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.

In these examples, the application predicts how likely it is that the user is typing each

query and presents to the user a list of the top-matching queries, in descending order

of weight. These weights are determined by historical data, such as box office revenue

for movies, frequencies of search queries from other Google users, or the typing

history of a cell phone user. For the purposes of this assignment, you will have access

to a set of all possible queries and associated weights (and these queries and weights

will not change).

The performance of autocomplete functionality is critical in many systems. For

example, consider a search engine which runs an autocomplete application on a server

2

2

farm. According to one study, the application has only about 50ms to return a list of

suggestions for it to be useful to the user. Moreover, in principle, it must perform this

computation for every keystroke typed into the search bar and for every user!

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 AI M with weights equal to their populations.

2.1. Part 1: autocomplete term (60 pts)

Write an immutable data type Term.java that represents an autocomplete term: a query

string and an associated integer weight. You must implement the following API,

which supports comparing terms by three different orders: lexicographic order by

query string (the natural order); in descending order by weight (an alternate order);

and lexicographic order by query string but using only the first r characters (a family

of alternate orderings). The last order may seem a bit odd, but you will use it in Part

3 to find all query strings that start with a given prefix (of length r).

public class Term implements Comparable {

/* Initializes a term with the given query string and weight. */

public Term(String query, long weight)

/* Compares the two terms in descending order by weight. */

public static Comparator byReverseWeightOrder()

/* Compares the two terms in lexicographic order but using only the first

r characters of each query. */

public static Comparator byPrefixOrder(int r)

/* Compares the two terms in lexicographic order by query. */

public int compareTo(Term that)

3

3

// Returns a string representation of this term in the following format:

// weight (i.e., ??.toString()), followed by a tab, followed by query.

public String toString()

}

Corner cases. The constructor should throw

a java.lang.NullPointerException if query is null and

a java.lang.IllegalArgumentException if weight is negative.

The byPrefixOrder() method should throw

a java.lang.IllegalArgumentException if r is negative.

Performance requirements. The string comparison functions should take time

proportional to the number of characters needed to resolve the comparison.

2.2. Part 2: binary search (30 pts)

When binary searching a sorted array that contains more than one key equal to the

search key, the client may want to know the index of either the first or the last such

key. Accordingly, implement the following API:

public class BinarySearchDeluxe {

/* Returns the index of the first key in a[] that equals the search key,

or -1 if no such key. */

public static int firstIndexOf(Key[] a, Key key, Comparator

comparator)

/* Returns the index of the last key in a[] that equals the search key,

or -1 if no such key. */

public static int lastIndexOf(Key[] a, Key key, Comparator

comparator)

}

Corner cases. Each static method should throw a java.lang.NullPointerException if

any of its arguments is null. You should assume that the argument array is in sorted

order (with respect to the supplied comparator).

Performance requirements. The firstIndexOf() and lastIndexOf() methods should

make at most 1 + ⌈log2 N⌉ compares in the worst case, where N is the length of the

array. In this context, a compare is one call to comparator.compare().

2.3. Part 3: autocomplete (70 pts)

In this part, you will implement a data type that provides autocomplete functionality

for a given set of string and weights, using Term and BinarySearchDeluxe. To do

so, sort the terms in lexicographic order; use binary search to find the all query strings

4

4

that start with a given prefix; and sort the matching terms in descending order by

weight. Organize your program by creating an data type Autocomplete with the

following API:

public class Autocomplete { // implement sorting algorithm in this class

/* Initializes the data structure from the given array of terms. */

public Autocomplete(Term[] terms)

/* Returns all terms that start with the given prefix, in descending

order of weight. */

public Term[] allMatches(String prefix)

}

Corner cases. The constructor should throw a java.lang.NullPointerException if its

argument is null or if any of the entries in its argument array are null. Each method

should throw a java.lang.NullPointerException if its argument is null.

Performance requirements. The constructor should make proportional

to N log N compares (or better) in the worst case, where N is the number of terms.

The allMatches() method should make proportional to log N + M log M compares (or

better) in the worst case, where M is the number of matching terms. In this context,

a compare is one call to any of the compare()or compareTo() methods defined in Term.

2.4. Input format for testing (30 pts)

We provide a number of sample input files for testing. Each file consists of an

integer N followed by N pairs of query strings and nonnegative weights. There is one

pair per line, with the weight and string separated by a tab. A weight can be any

integer between 0 and 2^63 − 1. A query string can be an arbitrary sequence of

Unicode characters, including spaces (but not newlines).

• The file wiktionary.txt contains the 10,000 most common words in Project

Gutenberg, with weights proportional to their frequencies.

• The file cities.txt contains over 90,000 cities, with weights equal to their

populations.

% more wiktionary.txt

10000

5627187200 the

3395006400 of

2994418400 and

2595609600 to

1742063600 in

1176479700 i

1107331800 that

1007824500 was

% more cities.txt

93827

14608512 Shanghai, China

13076300 Buenos Aires, Argentina

12691836 Mumbai, India

12294193 Mexico City, Distrito Federal, Mexico

11624219 Karachi, Pakistan

11174257 İstanbul, Turkey

10927986 Delhi, India

10444527 Manila, Philippines

5

5

879975500 his

...

392323 calves

10381222 Moscow, Russia

...

2 Al Khāniq, Yemen

Below is a sample client that takes the name of an input file and an integer k as

command-line arguments. It reads the data from the file; then it repeatedly reads

autocomplete queries from standard input, and prints out the top k matching terms in

descending order of weight. public static void main(String[] args) {

// read in the terms from a file

String filename = args[0]; // first argument from command line

In in = new In(filename);

int N = in.readInt();

Term[] terms = new Term[N];

for (int i = 0; i < N; i++) {

long weight = in.readLong(); // read the next weight

in.readChar(); // scan past the tab

String query = in.readLine(); // read the next query

terms[i] = new Term(query, weight); // construct the term

}

// read in queries from standard input and print the top k matching terms

int k = Integer.parseInt(args[1]); // 2nd argument from command line

Autocomplete autocomplete = new Autocomplete(terms);

while (StdIn.hasNextLine()) {

String prefix = StdIn.readLine();

Term[] results = autocomplete.allMatches(prefix);

for (int i = 0; i < Math.min(k, results.length); i++)

System.out.println(results[i]);

}

}

Here are a few sample executions: % java Autocomplete wiktionary.txt 5

auto

619695 automobile

424997 automatic

comp

13315900 company

7803980 complete

6038490 companion

5205030 completely

4481770 comply

the

5627187200 the

334039800 they

282026500 their

250991700 them

196120000 there

% java Autocomplete cities.txt 7

M

12691836 Mumbai, India

12294193 Mexico City, Distrito

Federal, Mexico

10444527 Manila, Philippines

10381222 Moscow, Russia

3730206 Melbourne, Victoria,

Australia

3268513 Montréal, Quebec, Canada

3255944 Madrid, Spain

Al M

431052 Al Maḩallah al Kubrá, Egypt

420195 Al Manşūrah, Egypt

290802 Al Mubarraz, Saudi Arabia

258132 Al Mukallā, Yemen

227150 Al Minyā, Egypt

128297 Al Manāqil, Sudan

99357 Al Maţarīyah, Egypt

first argument 2nd argument

defined in In.java, to read data from files and URLs

defined in StdIn.java, to read data from keyboard

6

6

Interactive GUI (optional, but fun and no extra work): Compile AutocompleteGUI.java. The program takes the name of a file and an

integer k as command-line arguments and provides a GUI for the user to enter queries.

It presents the top k matching terms in real time. When the user selects a term, the

GUI opens up the results from a Google search for that term in a browser.

% java AutocompleteGUI cities.txt 7

3. �������������� If your program does not compile, you receive zero points for that program. Additional

deductions:

1. (5 points) Your code does not follow the style guide discussed in class/textbook. 2. (30 points) Your code does not have author name, date, purpose of this program,

comments on the variables and methods, etc.

4. �������

One submission for a team. Zip/submit your entire project,

including Autocomplete.java, BinarySearchDeluxe.java, and Term.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 questions:

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.

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Assignments Hut
Accounting & Finance Specialist
Top Grade Essay
Solutions Store
Essay & Assignment Help
Finance Homework Help
Writer Writer Name Offer Chat
Assignments Hut

ONLINE

Assignments Hut

I reckon that I can perfectly carry this project for you! I am a research writer and have been writing academic papers, business reports, plans, literature review, reports and others for the past 1 decade.

$22 Chat With Writer
Accounting & Finance Specialist

ONLINE

Accounting & Finance Specialist

I will provide you with the well organized and well research papers from different primary and secondary sources will write the content that will support your points.

$40 Chat With Writer
Top Grade Essay

ONLINE

Top Grade Essay

I have read your project description carefully and you will get plagiarism free writing according to your requirements. Thank You

$41 Chat With Writer
Solutions Store

ONLINE

Solutions Store

I am an experienced researcher here with master education. After reading your posting, I feel, you need an expert research writer to complete your project.Thank You

$15 Chat With Writer
Essay & Assignment Help

ONLINE

Essay & Assignment Help

I am an experienced researcher here with master education. After reading your posting, I feel, you need an expert research writer to complete your project.Thank You

$21 Chat With Writer
Finance Homework Help

ONLINE

Finance Homework Help

I have read your project details and I can provide you QUALITY WORK within your given timeline and budget.

$42 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

Nurs 340 week 1 Replies - Shark tank sponge with smiley face - Successful licence suspension appeal - 1009 vanessa dr arnaudville la 70512 - Proofreading - Rhetorical fallacies in the workplace - Agricutlure class - Week 4 DB: Maldistribution - How has an understanding of consumer behavior helped coppertone - The menstrual cycle depends on events within the female ovary - Flowers wanganui new zealand - You are pulling heaven down and raising figurative language - Http www learner org resources series180 html - Need today - N492 Assignment Mod 6: - Night drive will f jenkins questions - Clinical robotic surgery association - Tpg international call rates - English and media centre - Synthesis Worksheet: Doctoral Identity - Example of selective perception in organization - Metasploit vm - Book week ideas for schools - Sophos utm 9 load balancing - The container store case study solution - Discussion - Robin hood case study recommendations - Discussion needed by 3pm sat - The concept of world literature - Leonard suspends his friendship with sheldon - All in the family on tv land - Cost benefit analysis of milgram study - C++ program to reverse a string using pointers - Interview questions about culture - Complete ielts workbook pdf - V 2 vo 2 2ax - Which of the following is one of the earliest indicators of an employee's possible alcoholism? - Interview questions about marriage and family - Microsoft Word Document 5 - Seasons interactive lab answers - Pump start stop logic diagram - John maxwell 5 levels of leadership book - Drop per minute calculator - What was the asch experiment measuring - The crucible character map - Unit 2 lesson 6 practice problems - Kerry and robert akester - Assignment - Bolton council anti social behaviour - NEED IN 10 HOURS or LESS POWERPOINT - The call by jessie pope essay - Mergers and acquisitions are quicker to execute than greenfield investments - Newtown school dispute negotiation plan - Accounting for extractive industries journal entries - Significant figures problem solving - The portland hospital price list - Combustion of sugar experiment - Naeyc code of ethical conduct powerpoint - The grizzly bear who lost his grrr - Case study for leadership and management - Descriptive paragraph about food - Percentage of copper in brass experiment - I need two discussion questions 400 words min each with references. - Mickey boggess motor sales - How to write a positionality paper - Mkt 571 price and channel strategy - Nursing - When is behaviorism beneficial for learners - X 3 cost y 3 sin t - Application to vary or revoke apprehended violence order form - Single leg crossover v ups - Castor oil frozen shoulder - Dewhurst uk manufacturing ltd - Prepare a classified balance sheet ignoring monetary amounts - Ibm rational doors training ppt - 4s week 14 assignment IA - Imageless thought controversy in psychology - Kennst du das land schumann - Dr khan louis pasteur - Boys and girls alice munro questions and answers - Qualified dividends and capital gain tax worksheet 2014 line 44 - Fluid mechanics lab report example - C228 task 2 epidemiological determinants - If You Are Looking Health Care Dissertation Writing Service - E Documents - Consider the following discrete probability distribution - Top speed of a go kart - Main causes of fire in nhs - Rockin rollen - Stonefields reserve cabernet sauvignon 2017 - BUS 430 - What risks for a project have the highest priority - Parafem - Bnsf contractor orientation test answers - The drawing shows a lower leg being exercised - The power of habit chapter 6 summary - Cite this for me uts harvard - Reflection paper 3 - Human sexuality textbook mcgraw hill - Stakeholder theory of corporate governance ppt