i was searching for AI algorithm for spelling correction and i found Levenshtein distance algorithm that compare the similarity between two string so my question should i implement this similarity between the wrong word with the all the words that's in my dictionary? because if yes the time run will be slow. and my second question can this algorithm implement on two string that don't have the same length thanks in advance
If you are working with Java or JavaScript, I have a library that can find all spelling candidates in your dictionary in linear time on the length of the query term:
https://github.com/universal-automata/liblevenshtein-java
The trick is that it intersects a Levenshtein automaton with your dictionary automaton, and only follows those paths which lead to terms having a Levenshtein distance no greater than what you specify from the query term.
I've set up a demo that you can play with: