This Android application allows users to efficiently search through a large list of cities and view their locations on a map. It's designed to handle prefix-based searches with optimized performance.
- Fast Prefix Search: The app utilizes a Trie (Prefix Tree) data structure to enable rapid filtering of cities based on user input.
- Case-Insensitive Search: Search functionality is case-insensitive, providing a user-friendly experience.
- Scrollable List: Search results are displayed in an alphabetically sorted, scrollable list.
- Map Integration: Tapping on a city in the list opens its location on Google Maps.
- Responsive UI: The user interface remains responsive even during active typing in the search field.
- Data Loading: The app loads a JSON file containing city data using the GSON library.
- Data Structure: The city data is stored in a Trie for efficient prefix searching.
- Search Algorithm: The search algorithm leverages the Trie's structure to achieve better than linear time complexity.
- Clone the repository.
- Open the project in Android Studio.
- Build and run the app on an emulator or physical device.
- Launch the app.
- Start typing in the search field to filter cities.
- Tap on a city in the list to view its location on Google Maps.
- The app is designed to handle screen rotations gracefully.
- The initial loading time of the app might be slightly longer due to data preprocessing into the Trie structure, but subsequent searches are very fast.


