A Java project exploring predictive text and autocomplete functionality using Trie and Hashtable data structures. Created as part of a directed study project under the guidance of Professor Tony Tian at Eastern Washington University.
The application allows users to type directly into a GUI and see word predictions appear dynamically as they type. It includes two interchangeable backend implementations:
- Trie based approach β optimized for fast prefix lookups.
- Hashtable based approach β simpler structure with efficient insertions and lookups.
- Interactive Java GUI for real-time word prediction
- Two interchangeable data structure implementations (Trie and Hashtable)
- Fast (Real-Time) and accurate autocomplete suggestions
- Utility classes for dictionary loading, prefix trie creation and performance testing
git clone https://github.com/logan-taggart/Predictive-Input-Keyboard.git
cd Predictive-Input-Keyboardcd "Trie Keyboard Implementation"
javac AutoCompleteStudent.javajava AutoCompleteStudentPredictive-Input-Keyboard/
β
βββ TrieKeyboardImplementation/ # Trie-based predictive model
βββ HashtableKeyboardImplementation/ # Hashtable-based predictive model
βββ Utilities/ # Shared utility classes
- Implement adaptive learning to personalize suggestions based on typing history through ML techniques
- Update GUI design with modern styling
- Support phrase prediction (multi-word suggestions instead of single words)