Question about shortest prefixes

Assignment Help Data Structure & Algorithms
Reference no: EM1380221

Shortest Prefixes

Input: Prefix .in
Output: Prefix .out

A prefix of a string is a substring string at the beginning of the given string. The prefixes of "carbon" are: "c", "ca", car", "carb", "carbo", and "carbon". Note that the empty string is not considered a prefix in this problem, but every non-empty string is considered to be a prefix of itself. In everyday language, we tend to abbreviate words by prefixes. For example, "carbohydrate "is commonly abbreviated by "carb". In this problem, given a set of words, you will find for each word the shortest prefix that uniquely identifies the word it represents.

In the sample input below, "carbohydrate" can be abbreviated to "carboh", but it cannot be abbreviated to "carbo" (or anything shorter) because there are other words in the list that begin with "carbo".

An exact match will override a prefix match. For example, the prefix "car" matches the given word "car" exactly. Therefore, it is understood without ambiguity that "car" is an abbreviation for "car", not for "carriage" or any of the other words in the list that begins with "car"

"" Input ""

The input file contains at least two, but no more than 1000 lines. Each line contains one word consisting of 1 to 20 lower case letters.

"" Output ""

The output file contains the same number of lines as the input file. Each line of the output file contains the word from the corresponding line of the input file, followed by one blank space; and the shortest prefix that uniquely (without ambiguity) identifies this word.

"" Sample input ""

carbohydrate
cart
carburetor
caramel
caribou
carbonic
cartilage
carbon
carriage
carton
car
carbonate

"" Output for sample input ""

carbohydrate carboh
cart cart
carburetor carbu
caramel cara
caribou cari
carbonic carboni
cartilage carti
carbon carbon
carriage carr
carton carto
car car
carbonate carbona

Reference no: EM1380221

Questions Cloud

Solving single source shortest paths problem : Here is a proposed algorithm to solve single source shortest paths problem in a weighted directed graph G with possibly negative edges weights.
Modify bellman ford algorithm to find negative weight cycle : Demonstrate how to modify the Bellman Ford algorithm to find and print a negative weight cycle in a weighted directed graph G if one exists.
Differentiate between the interaction types and styles : Explain the conceptual model employed in the design of these types. Describe the analogies and concepts these monitors expose to users, including the task-domain objects users manipulate on the screen.
Find the checksum field in a single parity bit scheme : Assume that the information content of a packet is the bit pattern 1111000010100101 and an even parity is being used
Question about shortest prefixes : A prefix of a string is a substring string at the beginning of the given string. The prefixes of "carbon" are: c, ca, car, carb, carbo and carbon.
Wage calculator with tax calculations : Wage Calculator with Tax Calculations - Develop an application that calculates an employee's earnings
Create a program that reads product number and prices : The Rinky Dooflingy Corporation produces different kinds of doofingies, each identified b a product number. Create a program that reads product number and rates and stores these values in two arrays,
Question about arrays, vector and stl : Suppose if x denotes the mean of a sequence of numbers x1, x2,.....xn, variance is the average of the squares of the deviations of numbers from the mean.
Computing the total dollar sales : A corporation has a product line that includes five items that sell for $100, $75, $120, $150, and $35. There are four salespersons working for this corporation,

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Create divide and conquer algorithm to solve problem

Create a divide and conquer algorithm to solve problem. The time complexity of your algorithm must be O(nlgn) or better.

  Benefits of dynamic over static arrays

Discuss the benefits of dynamic over-static arrays. Under what conditions will you choose dynamic arrays?

  Design algorithm to receive two integer items from terminal

Design an algorithm that will receive two integer items from a terminal operator, and display to the screen their sum, difference, product and quotient.

  Explain feasibility analysis for jobs of lrt algorithm

Study feasibility analysis for jobs of LRT algorithm when preemption is allowed. Which scheduling algorithm is best suited for high speed networks and why? Distinguish between static and dynamic systems.

  Random walk simulation

A two dimensional array should be used to represent number of times the bug reached each tile on the floor. All cells of this array should be initialized to zero.

  Data systems and design

Suppose if you have a program with a housekeep() module, a mainloop() module, and a finishup() module, when is the second input record usually read?

  Create world database using mysql

create World database using MySQL and write a Java or C# or program to access the DB

  Computing minimal length of key-average cracking time given

If Encrypt-It-Rite would like to increase average cracking time to at least 100 years, determine the minimal length of the key?

  Create algorithm to prepare daily hotel charge report

Create the algorithm to prepare the daily hotel charge report. Input consists of series of records which contain a room number, customer name, cost of the room, and cost of meals charged to the room.

  Design randomized algorithm for solving decoding problem

The Viterbi algorithm is a deterministic algorithm for solving the Decoding problem. Design a randomized algorithm for solving the Decoding problem.

  Explaining augmented red-black tree

Consider T be augmented red-black tree, where each node x has attribute x.size, which is number of internal nodes in subtree rooted at x. Given such augmented red-black tree T.

  Problems on edges and graphs

Suppose if we add an edge to a biconnected graph with k strongly connected components, then there are 3-situations: the endpoints of edge lie in different strongly connected component and there is no path between 2 in the original graph,

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd