Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spell Checker [OUI - 2019]

made-with-java Ask Me Anything ! Build Status

Spell Checker implementation for DSA course. (Data Structures & Algorithms)

  • 🗾 Custom HashMap implementation

  • 🌴 Okasaki RedBlack Trees

  • ❔ Basically hashes one file as dictionary and checks other file with it

What is it you say?

This project tries to accomplish:

  • 😳 Adhering to OOP programming style [~40%]
  • 😌 Implementing custom HashMap [~90%]
  • 😧 Implementing custom RedBlack Tree [~60%]
  • 😃 Basic file I/O usability [~80%]

Implementation details:

  • MajellaMap - Open adressed HashMap

    • Uses Round Robin linear probing with log2n limit
    • Uses MurMurHash3 to hash (currently can hash only strings)
    • Uses Fibbonachi Hashing to map the values to current size
    • Operates with immutable map cells
    • Doesn't know how to decrease its size after expanding
  • OkasakiRBTree - Okasaki funcitonal RedBlack Tree

    • Follows Chris's original algorithms for addition
    • Sadly is NOT, fully functional (in design), uses highly mutable objects as nodes

A little insight in to some design desision in RedBlack Tree:

Deadline

Resourses

Here are the most crucial acrticles, that I've used to understand the topics:

How to run it

Use command line to show the program location of dictionary and text file

$ java -jar spell-checker-1.0.jar text_file dictionary_file

It will then generate the output file

About

HashMap-based spell checker with 15% better performance than standard Java libraries. Built for DSA course at Open University.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages