Recursive hashing and cleaning for efficient searching

Run code by running Anagram.java file from command line terminal.

Recrusive Hashing for Anagram finding from a list of vocabulary dictionaries

Given a word find all the anagrams of that word which could be made by the words present in a vocabulary file. The anagram can have spaces in between and could be made by joining words of different length too. For example "saubh rab" is an anagram of saurabh. We have a very prominent task. Searching. Hash tables have are very useful when used for searching, but they require a good hash function for the same.

We employ recursive hashing and cleaning to make this task faster and generic. We use hashtables on top of it for searching all anagrams available in the vocabulary file of arbitrary compostion and length.