我必须编写一个字典程序作为数据结构和算法本科课程的学期项目,我期望找到最合适的问题解决方案(数据结构).
我考虑过使用哈希表或者trie.有人建议我使用treaps,但还没有能够查看它们.
我的数据库有大约10万个不同的单词及其含义.该程序预期提供的基本功能是插入,更新,删除和搜索单词/定义.如果我设法挤压自动完成和拼写纠正,这将是一个额外的奖励.
所以,我的问题是,牢记我的要求,哪种数据结构最适合我的目的.当我说'最好'时,我要求的数据结构具有最佳的运行时复杂性和低成本(内存要求).
此外,我希望能够有一个算法,它返回以给定前缀开头的所有单词.例如,说我做一个函数调用dictionary.getWordsStartingWith("fic")
它应该返回的,与开始的所有单词的列表fic
,例如fiction
,fictitious
,fickle
等我知道我能做到这一点,如果我实现了我的字典作为一个线索,我能做到这一点,但是这是可能的用哈希表做到这一点?