Для обработки языка, как в обычных словарных словах, который будет быстрее на , читает, дерево оснований или обычное дерево b? Есть ли более быстрый метод, например, словарь с ведрами & хеширование?Что происходит быстрее: «дерево оснований» или «b-tree»
ответ
Как и всегда, вам нужно будет ориентироваться в контексте приложения, чтобы быть уверенным.
Однако я ожидаю, что в этом случае хорошо реализованная хеш-таблица, вероятно, окажется самой быстрой. В основном это требует:
- Один сканирования через строку для вычисления значения хеш-функции, как правило, с использованием очень быстрые операции, такие как немного зыбучих/операцию XOR
- Один хэш-таблица подстановки на основе значения хэш-
- Одна строка сравнения чтобы подтвердить, что вы имеете право слово
- немного дополнительной обработки в случае, когда есть хэш столкновения - однако вы можете настроить ваш размер хеш, чтобы минимизировать этот
десятичную дерево также будет очень быстрым, есть лишь немного дополнительных накладных расходов из-за необходимости пересечения нескольких уровней узлов дерева. Если ваше дерево относительно скудное, вполне вероятно, что поисковые запросы будут нуждаться только в небольшом количестве уровней, чтобы найти уникальный ответ. Одним из преимуществ дерева оснований является то, что он расскажет вам очень рано, если у вас нет возможных совпадений (например, пустая ветвь для дерева, начинающаяся с «qq»)
Бинарное дерево, вероятно, будет самым медленным, так как оно будет в среднем приходится искать через несколько уровней узлов дерева. Однако для большинства целей он будет достаточно быстрым.
Я думаю, что я хочу, и на основе того, что вы сказали , дерево оснований победит. Это имеет дополнительное преимущество, автоматически зная, что такое корень слова. – IamIC
- 1. Что происходит быстрее, тройное дерево поиска или двоичное дерево поиска?
- 2. Что происходит быстрее, XPath или Regexp?
- 3. Что происходит быстрее: include() или file_get_contents()?
- 4. Что происходит быстрее, горизонтально или вертикально?
- 5. Что происходит быстрее? Рисование или композиция?
- 6. Что происходит быстрее, подзапрос или отдельный (MySQL)?
- 7. Что происходит быстрее, кэш key_cache или OS?
- 8. Что происходит быстрее: регулярные или строковые операции?
- 9. Что происходит быстрее? File_exist или запрос MySQL?
- 10. Что происходит быстрее: ldc.i4/ldstr или ldloc?
- 11. Что происходит быстрее, GDI + или libpng?
- 12. Что происходит быстрее - курсор или массив?
- 13. Что происходит быстрее: '-isKindOfClass:' или '-isEqualToString:'?
- 14. Что происходит быстрее: клонирование или использование потоков?
- 15. Что происходит быстрее, протокол ssh или git?
- 16. Что происходит быстрее? Массив Struct или DataTable
- 17. Что происходит быстрее? System.currentTimeMillis() или Date(). GetTime()?
- 18. Что происходит быстрее - если ... или выберите ...?
- 19. Что происходит быстрее, .on() или .click()?
- 20. Что происходит быстрее, звонки или вызов массива?
- 21. Что происходит быстрее: JavaScript или JQuery
- 22. Что происходит быстрее?
- 23. Эффективность SQL - что происходит быстрее?
- 24. Что происходит быстрее и почему?
- 25. Что происходит быстрее, pipe | fifo
- 26. Что происходит быстрее, сортировка вектора, а затем вставка его в дерево AVL или ввод его непосредственно?
- 27. Как преобразовать btree в дерево b +
- 28. Указатель разыменования на неполный тип (дерево оснований)
- 29. android Что такое бинарный поиск или коллекция btree
- 30. Что происходит быстрее: присоединяйтесь к GROUP BY или подзапрос?
Вы уверены, что вам нужно абсолютно лучшее исполнение в этом случае? Каков размер набора данных? Кроме того, решающим фактором, вероятно, будет качество реализации. Я бы предложил использовать зрелую реализацию хеш-таблицы для задачи. –
Набор данных будет составлять чуть менее 200 тыс. Записей. Он будет сильно читаться и легко написан. – IamIC
Возможный дубликат [Trie vs B + tree] (http://stackoverflow.com/questions/2688639/trie-vs-b-tree) –