【问题标题】:What is a fast efficient way to find an item?什么是快速有效的查找项目的方法?
【发布时间】:2009-12-24 18:00:51
【问题描述】:

您好,我需要一些快速的方法来在字典中搜索单词。

这本词典大约有 50 万个单词。

我正在考虑使用一个 hashmap,其中每个 bin 最多有 1 个单词。

关于如何做到这一点的想法或有更好的方法吗?

【问题讨论】:

  • 什么语言?这个问题大部分都解决了。

标签: c++ hash


【解决方案1】:

Trie 是一种存储字典的有效方式,并且具有非常快速的查找特性,O(m),其中 m 是单词的长度。

hashmap 在内存方面的效率会降低,但查找时间对于完美的哈希来说是一个常数,O(1) 查找但您仍然需要花费 O(m) 来计算哈希。一个不完美的哈希比 Trie 的最坏情况要慢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-17
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    相关资源
    最近更新 更多