OVERVIEW This program focuses on programming with Java Collections classes. You will implement a module that finds a simplified Levenshtein distance between two words represented by strings. Your program will need support files LevenDistanceFinder.Java, dictionary.txt, while you will be implementing your code in the LevenDistanceFinder.java file. INSTRUCTIONS The Levenshtein distance, named for it's creator Vladimir Levenshtein, is a measure of the distance between two words. The edit distance between two strings is the minimum number of operations that are needed to transform one sting into the other. For a full implementation of the distance we would need to account for three different types of operations, removing a letter, adding a letter, or changing a letter. For THIS program however, we are going to focus solely on the ability to change one letter to another. So, we will be thinking of changing one letter at a time, while maintaining the fact that the word is a still a valid word at all times. So, for an example, the edit distance from "dog" to "cat" is 3. One possible path for this is "dog" to "dot" to "cot" to cat" Note, that there might be other paths, but they all involve at least 3 changes. Another longer example is from "witch" to "coven". witch->watch->match->march->marcs->mares->mores->moves->coves->coven You will be implementing a secondary class called LevenshteinFinder that will be used by the main program to solve the problem.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Java Please 

CS145 PROGRAMMING ASSIGNMENT
OVERVIEW
LEVENSHTEIN DISTANCE
This program focuses on programming with Java Collections classes. You will implement a
module that finds a simplified Levenshtein distance between two words represented by strings.
Your program will need support files LevenDistanceFinder.Java, dictionary.txt,
while you will be implementing your code in the LevenDistanceFinder.java file.
INSTRUCTIONS
The Levenshtein distance, named for it's creator Vladimir Levenshtein, is a measure of the
distance between two words. The edit distance between two strings is the minimum number of
operations that are needed to transform one sting into the other. For a full implementation of the
distance we would need to account for three different types of operations, removing a letter,
adding a letter, or changing a letter.
For THIS program however, we are going to focus solely on the ability to change one letter to
another. So, we will be thinking of changing one letter at a time, while maintaining the fact that
the word is a still a valid word at all times.
So, for an example, the edit distance from "dog" to "cat" is 3. One possible path for this is
"dog" to "dot" to "cot" to cat"
Note, that there might be other paths, but they all involve at least 3 changes. Another longer
example is from "witch" to "coven".
witch->watch->match->march->marcs->mares->mores->moves->coves->coven
You will be implementing a secondary class called LevenshteinFinder that will be used by
the main program to solve the problem.
Transcribed Image Text:CS145 PROGRAMMING ASSIGNMENT OVERVIEW LEVENSHTEIN DISTANCE This program focuses on programming with Java Collections classes. You will implement a module that finds a simplified Levenshtein distance between two words represented by strings. Your program will need support files LevenDistanceFinder.Java, dictionary.txt, while you will be implementing your code in the LevenDistanceFinder.java file. INSTRUCTIONS The Levenshtein distance, named for it's creator Vladimir Levenshtein, is a measure of the distance between two words. The edit distance between two strings is the minimum number of operations that are needed to transform one sting into the other. For a full implementation of the distance we would need to account for three different types of operations, removing a letter, adding a letter, or changing a letter. For THIS program however, we are going to focus solely on the ability to change one letter to another. So, we will be thinking of changing one letter at a time, while maintaining the fact that the word is a still a valid word at all times. So, for an example, the edit distance from "dog" to "cat" is 3. One possible path for this is "dog" to "dot" to "cot" to cat" Note, that there might be other paths, but they all involve at least 3 changes. Another longer example is from "witch" to "coven". witch->watch->match->march->marcs->mares->mores->moves->coves->coven You will be implementing a secondary class called LevenshteinFinder that will be used by the main program to solve the problem.
SAMPLE EXECUTIONS
This is what the program should like when you run it.
* Welcome to the Levenshtein Edit distance solver
* Please type in two words of the same size that will be used
* To find a path between them.
****:
********
What word would you like to start with?
--->Witch
What word would you like to end with?
--->Coven
The distance between your words is 9
The path between your words is: witch->watch->match->march->marcs-
>mares->mores->moves->coves->coven
*****************************
Total execution time: 14407ms.
* Welcome to the Levenshtein Edit distance solver
* Please type in two words of the same size that will be used
* To find a path between them.
******
What word would you like to start with?
--->dog
What word would you like to end with?
--->cat
The distance between your words is 3
The path between your words is: dog->dot->cot->cat
******
*******
Total execution time: 1262ms
* To find a path between them.
****:
********
**********
* Welcome to the Levenshtein Edit distance solver
* Please type in two words of the same size that will be used
*
******
What word would you like to start with?
--->bookkeeper
What word would you like to end with?
--->sunglasses
The distance between your words is -1
The path between your words is: There is no path
******泡泡!
Total execution time: 23378ms.
***
***
*
*
*
***
Transcribed Image Text:SAMPLE EXECUTIONS This is what the program should like when you run it. * Welcome to the Levenshtein Edit distance solver * Please type in two words of the same size that will be used * To find a path between them. ****: ******** What word would you like to start with? --->Witch What word would you like to end with? --->Coven The distance between your words is 9 The path between your words is: witch->watch->match->march->marcs- >mares->mores->moves->coves->coven ***************************** Total execution time: 14407ms. * Welcome to the Levenshtein Edit distance solver * Please type in two words of the same size that will be used * To find a path between them. ****** What word would you like to start with? --->dog What word would you like to end with? --->cat The distance between your words is 3 The path between your words is: dog->dot->cot->cat ****** ******* Total execution time: 1262ms * To find a path between them. ****: ******** ********** * Welcome to the Levenshtein Edit distance solver * Please type in two words of the same size that will be used * ****** What word would you like to start with? --->bookkeeper What word would you like to end with? --->sunglasses The distance between your words is -1 The path between your words is: There is no path ******泡泡! Total execution time: 23378ms. *** *** * * * ***
Expert Solution
Overview

In this question we have to implement the program in JAVA where we will code for Levenshtein distance calculation.

Let's code and hope this helps you, if you find any query in solution you may utilize the threaded question feature.

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 4 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY