Через несколько часов я искал информацию из Интернета, но до сих пор не уверен. Моя проблема: я хочу реализовать словарь на устройствах Android (база java), мои требования - скорость, а затем эффективность памяти, но я не мог принять решение о том, какую структуру данных использовать для поиска. У меня есть список структур данных, помочь мне понимает их и выбрать один:Какую структуру данных следует выбрать? [Android-словарь]
- троичного дерево
- TRIE
- Ахо-Corasick дерево
- [... ваш предложить DS ...]
И будет очень любезным, если кто-нибудь может вести меня о получении результатов (много полей: произнести, среднее, примерное предложение ...) слова после того, как мы его нашли? Мы сохраним эту информацию в другом файле данных?
Ваш вопрос очень запутан. При этом существует встроенная структура данных пары «ключ-значение», называемая HashMap: http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html –
Также относится к http: //docs.oracle.com/javase/1.4.2/docs/api/java/util/Dictionary.html –
Спасибо за чтение, мой словарь будет использовать файл данных с открытым исходным кодом, а затем я проиндексирую их, может быть несколькими словарями. Я имею в виду, что слова очень большие, и HASHMAP не эффективен с точки зрения памяти и не может дать мне список слов, имеющих один и тот же префикс. Я планирую использовать одно дерево-DS. Пожалуйста, покажите мне еще одно руководство – Kiradev