Problem Statement The idea of a dictionary is fundamental to many programming applications, including spell-checkers for editors and word processing, code breaking, compilers, and much more. In its most general form, a dictionary can be more than just a list of words and definitions in a natural language; for example, the FORTH language uses a dictionary to store all built-in and user-defined functions (which it calls "words"). In this case, the dictionary has a default membership (the built-in words) and can be expanded as new "words" are defined. Another example "dictionary" is a router for the Internet, which takes incoming messages over the network and determines where they should go next in order to get to the proper destination. Finding an efficient way to represent large dictionaries will be one of our tasks this quarter. Not every container class we study will be appropriate as a dictionary, but we will see several which are and should spend some time comparing implementations of these types to see which perform well. To start, we can think about using a simple list class based on the linked list representation. Let's assume a spell checker application. Typically, a program which uses a such a dictionary loads its word lists from files at startup time, or as needed when it executes. This implies that part of the code executing after the program loads is opening data files and reading the information in those files into lists in memory. Assuming the information is sorted (in this case, in alphabetical order), then simply adding each item to the end of a list retains the sorting. On the other hand, the list will get quite large. After the dictionary information has been read, the rest of the operations run on the dictionary will primarily be searches, or lookups. The user wants these searches to be as fast as possible. Occasionally the program might be asked to add something to the dictionary, but this is rare. For example, there may be jargon or technical words in a document which the user wants the spell checker to recognize, but aren't in the default dictionaries. The user should be able to add such words (either temporarily or permanently) to the spell checker's dictionary. In any event, the fastest operation on a dictionary should be the search. For a dictionary containing thousands of words, searching a linked list linearly will potentially require thousands of comparisons. Binary search is faster, but difficult to
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. 2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request. 3) Complete ownership and distribution copyrights to all work purchased.
windows XP with internet explorer
## Deadline information
NOTE: i have the starter code which could be helping