Implementing a simple spell checking program

Assignment Help Data Structure & Algorithms
Reference no: EM13910266

Building a BST

The purpose of this question is to give you experience in implementing a simple spell checking program using binary search trees. One of the most-used applications of computers today is checking spelling. In this question, you will load a large dictionary (approximately 173,529 words) into a binary search tree. Then, you will walk through a text document, checking each word in the document against the dictionary; if the word is present, it is spelled correctly, and if not, indicate it as misspelled.

In more detail, you will first load the dictionary (formatted in an alphabetical order of words) into a balanced binary search tree and display the height of the tree. Then read in input file and check the spelling of each word in the content against the dictionary. You are required to use the Binary Search Tree data structure to solve the problem. The SpellChecker program will ask user to enter two pieces of information:

• the file name of the input file to be spell checked
• the file name of the dictionary file

The input file can be any text file. The format of the dictionary file is one word per line and the words are listed in an alphabetical order. An example of the content in the dictionary_small.txt is as follows (this is a small dictionary file for testing purpose).

accomplices

arraignments

assemblyman

awkwarder

blowsiest

communications

concessionaire

couldn't

defrauded

dumps

fifteen

honing

incorrigibility

lockout

misting

reeved

splotch

springboard

typing

woolgathering

The program should output the possible misspelled words, and count the total number of words and as well as the number of misspelled words. Your program (SpellChecker.java) should behave similarly as follows:

Spell Checker Application
-------------------------------
What is the input file for spelling check?
test_large.txt

What is the dictionary file?
dictionary_large.txt

The height of the binary search tree is 18. Spell checking ...done

Possible misspelled words in the file: Armstrong

France bruntal indiviidual clombing fuet

L'Alpe d'Huez Armstrung menute widdening leed clusest challengor Ivan impesing Armstrong favourite Sundayy meake

tims nooz

Total number of words is 97.

Possible number of misspelled words is 22.

Hints on algorithm:

• Store the dictionary into a balanced binary search tree data structure;

• Use the algorithm taught in the lectures to construct a balanced binary search tree from the dictionary text file, where the words are sorted by their alphabetical order;

• Read in the words from the input file and check whether they are presented in the dictionary;

• Convert the word into lowercase before perform the checking. Numerical numbers are discarded from the spell check.

Attachment:- file.rar

Reference no: EM13910266

Questions Cloud

Perecipitate of silver chloride : 2.67g of alumininium choloride was dissloved in water and an excess of silver nitrate solution was added to give a perecipitate of silver chloride AlCl3+3AgNo3---Al(NO3)3+3AgCl3 what mass os silver choride precipitate would be formed?
Prepare a complete slide presentation for the board : Prepare a complete slide presentation for the Board of Directors (BOD) outlining the justification for implementing a new consumer marketing function. Describe the activities, applications, justification and benefits of implementing this new Marketin..
How does a corporate bond compare with preferred stock : How does a corporate bond compare with preferred stock? How does the valuation of a corporate bond compare with the valuation of preferred stock?
Change in temperature relative : A gas in a balloon expands from 2L to 3L against 2 atm of pressure, what is the change in temperature relative to the initial temperature?
Implementing a simple spell checking program : Implementing a simple spell checking program using binary search trees. One of the most-used applications of computers today is checking spelling. In this question, you will load a large dictionary (approximately 173,529 words) into a binary searc..
Calculate the percent loss of cu : A student weighs 2.046 g of Cu into a 250 mL beaker at the beginning of the experiment. At the end of the experiment 1.374 g Cu is recovered. Calculate the percent loss of Cu.
Find the optimal hiring schedule : A contractor estimates that the size of the workforce needed over the next 6 weeks is 4, 7, 9, 5, 6, and 7 workers, respectively. Find the optimal hiring schedule (check lecture note 34 for a sample format of a hiring schedule) using Backward Recurs..
Ethical issue : Choose an ethical issue raised by the Enron case study - e.g., Enron's accounting fraud, the company's reward systems, its use of "special purpose entities," or Enron's "deal making" culture.Briefly discuss why utility ethics is a valid way of decidi..
Potassium arsenate solution : A student mixed a cobalt cloride solution with a potassium arsenate solution a solid was observed. How many grams of solid can be formed from mixing 35.6mi. of 0.342 M cobalt chloride solution with 35.8 ml. of .251 M potassium arsenate solution?

Reviews

Write a Review

Data Structure & Algorithms Questions & Answers

  Look scheduling policy

Given that it takes 1.75 ms to travel from one track to the next of a hard drive; that the arm is originally positioned at Track 15 moving toward the low- numbered tracks; and that you are using the LOOK scheduling policy

  Sketch dynamic programming tables for knapsack problem

Sketch Dynamic Programming Tables (one for calculating optimal value and one for keeping track of items used in getting optimal value) for 0/1 Knapsack Problem given below and illustrate your final result.

  Survey of fault tolerance policy for load balancing scheme o

This paper investigates about fault-tolerance in load balancing schemes in distributed environment. There are some more parameters influencing QOS but our main focus is on fault tolerance and load balancing.

  Write a program that implements kruskals algorithm

Write a program that implements Kruskal's algorithm

  Identify the most important facts about the diet

Identify the most important facts about the diet. State your opinion about the diet.Support your opinion with relevant facts or research

  If you can monitor when sql injections are performed on an

if you can monitor when sql injections are performed on an sql database what would you recommend as a security

  Describe the requirement for complex data structures

Describe the requirement for complex data structures and how they are utilized. Describe the design and application of arrays and how the array simplifies program development.

  Write code to implement the expression

Write code to implement the expression: A= (B+C) * (D+E) on 3-, 2-, 1- and 0- address machines. In accordance with programming language practice, computing the expression should not change the values of its operands. Show all instructions.

  Determine complete list of nodes which ancestor

Let the following tree: tree a. Determine the children of Q? b. What is the complete list of nodes which have D as ancestor? c. Determine the height of this tree (as height is defined in text)?

  Create algorithm to calculate union of two input sets-array

Create algorithm to calculate union of two input sets given as arrays, both of size O(n). The output must be array of distinct elements that form union of the sets.

  Design algorithm that plans your optimal investment strategy

Prove that the problem of planning your optimal investment strategy exhibits optimal substructure and design an algorithm that plans your optimal investment strategy. what is the running time of your algorithm?

  What is the benefit of creating multiple levels of dfds

What is the benefit of creating multiple levels of DFDs? Consider the concept of DFD consistency. Why is consistency important to take advantage of the multiple levels of DFDs that may be created

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