如何实现字典(Trie vs HashTable和重要问题)?
我遇到了几个问题和文章,说java中的字典实现最好使用尝试来完成。但就我所看到的,他们中的大多数都没有解决重要问题。所以,接下来是一个现实世界的任务:
让我们假设我需要使用java实现一个字典(让我们说像Lingvo一样的东西,但更简单)。对于我的特定任务,需要存储单词定义并执行快速字典查找。
请解决以下问题:
- 那么我应该使用什么数据结构(Trie或HashTable)?
- 如果我需要字典不区分大小写,它应该如何组织(搜索,数据结构)?
- 如果我希望它(搜索,字典)区分大小写怎么办?
P.S.:代码示例非常值得赞赏。:)
提前感谢您的回答。
更新:如果我们谈论Java中的标准DS实现,那么HashTable真的是这个特定任务的最佳实现吗?为什么不是HashMap,TreeMap或LinkedHashMap?