2014-02-03 1 views
4

Я разработчик Android, я создаю словарь, например app.I сохранил словарь в текстовом файле. Я хочу искать в своем словаре для ключевого слова, введенного пользователем. В моем словаре есть 35000+ записей. Каков наилучший способ сделать это? Должен ли я делать бинарный поиск, метод хэширования или трюк?Поиск в Oxford Dictionary

Я пробовал хеширование, но создаю надлежащую хеш-функцию в порядке возрастания и бинарный поиск по ней очень утомительно.

Это мой первый вопрос здесь. Скажите, пожалуйста, если я ошибаюсь.

+0

В OED имеется более 35 000 записей. :-) (Более 600 тыс., Я считаю.) Даже краткое издание имеет 240 000 ... –

+0

Так как эта информация отвечает OP Q? – apomene

+0

@apomene Он не отвечает на вопрос, это комментарий. Тот, который отмечает, что размер слов 35k может быть неправильным, и OP, возможно, потребуется рассмотреть еще больший набор данных. – turbo

ответ

2

В большинстве случаев поиск по дереву может решить эту проблему, но определенно текстовый файл не поможет. Вы можете попробовать конвертировать ваш файл в SQLite (который доказал стабильность, простоту и скорость) и индексирование таблицы , поэтому поиск может быть намного быстрее по сравнению с обычным текстом.

Надеюсь, это поможет.

Смежные вопросы