one approach could be following :-

i have check MS-word and found out that for a given incorrect
words....words suggested are of length = lenght(incorrect_word)+1 or to be
on a safer side take it as lenght(incorrect_word)+2.

we are assuming that we user is not making mistake greater that
len(incorret_word)+2;

for for input auw  , suggested words are auk,aiwa,awe,awl,aduwa.

so before running " levenshtein distance " ... check if the given word in
dictionary passes this test....so here we have narrowed down the sugessted
items.

you can further refine it by the following ways:-

and all passed strings from above approach , make one more check...

check the similarity between incorrect string and suggested string...

check if incorrectString[i...m]==suggestedString[i...n];
here we are just checking ascii value of of both strings at position[i];
this would take O(n)..
if the difference is not greater that suggested strlen(incorrect_string)/2;

obv there could be many string which would pass above test.
now run this  levenshtein distance B/W incorrect_string and string which
has passed both of above test... and show only those string whose cost is
minimum.


On Sun, Jan 29, 2012 at 3:07 AM, Ravi Ranjan <ravi.cool2...@gmail.com>wrote:

>  i wanna write the "spell check function"
>
> like when we put some word with spelling mistake then it tell the most
> suitable word matching to it( green error line of spelling in MS-Word)
>
> i used  "levenshtein distance " algorithm to find the subset from the
> dictionary
>
> but it is a linear search... and takes much......
>
> so is there any other data structure or approach to solve the problem to
> reduce complexity....... or "levenshtein distance " algorithm can be used
> in some other way
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to