1. A system for organizing and processing feature based data structures in linguistic spell checking and auto-correction, comprising: a computer processor configured to: split an original dictionary into two or more sub-dictionaries using an explicit split or an implicit split based on a common feature of high frequency words, wherein each of the sub-dictionaries is smaller in size than the original dictionary and overlapping among the sub-dictionaries is allowed, and wherein contents in each of the sub-dictionaries are organized in a hierarchical tree; receive an input human-readable text that contains one or more errors; determine a sub-dictionary selection feature or selection criteria from the input human-readable text; select the sub-dictionary based on the determined sub-dictionary selection feature or selection criteria; execute a first matching of one or more characters, words, or phrases in proximity of the errors in the input human-readable text against the characters, words, and phrases in the selected sub-dictionary, wherein a match is found if a similarity between the one or more characters, words, or phrases in proximity of the errors in the input human-readable text and a candidate matching character, word, or phrase in the sub-dictionary is above a threshold of degree of similarity; if a unique match is found, return the uniquely matching character, word, or phrase from the selected sub-dictionary as an output to correct the errors; otherwise if more than one candidate matches are found, execute a second matching of one or more characters, words, or phrases in proximity of the errors in the input human-readable text against the character, word, and phrase in the selected sub-dictionary with the threshold of degree of similarity raised; and repeat the second matching until a unique match is found and the uniquely matching character, word, or phrase from the selected sub-dictionary is returned as an output to correct the errors.