1

几个小时后,我从互联网上搜索了信息,我仍然不确定。我的问题是:我想在 android 设备(java 基础)上实现一个字典,我的要求是速度,然后是内存效率,但我无法决定使用哪种数据结构进行搜索。我有一个数据结构列表,帮助我理解它们并选择一个:

  • 三叉树
  • 特里
  • 阿霍-科拉西克树
  • [...您的建议 DS...]

如果有人可以指导我在我们找到单词后获得结果(许多领域:发音,意思,例句......),那将是非常友好的?我们会将这些信息保存在另一个数据文件中吗?

4

3 回答 3

1

在搜索数据结构之前,您需要列出设计的主要关注点。这本词典提供了哪些功能?它的主要特点是什么?快速搜索?空间紧凑?插入/删除友好吗?交叉引用友好吗?只有当你想到这些时,你才能衡量候选结构的好坏。

于 2012-04-27T20:42:39.060 回答
0

它可以通过多种方式实现,其中之一是 Trie。路线由数字表示,节点指向单词集合。trie的用法在这里解释

于 2012-04-27T20:28:52.617 回答
0

同意亨特麦克米伦的评论。如果您需要像常规字典一样按字母顺序对单词进行排序,您可以使用 Java TreeMap,它是一个 SortedMap。

于 2012-04-27T23:48:37.000 回答