固定的Trie数据结构和字数组存储

问题描述

我正在尝试为我的android应用程序实现trie数据结构。我按照YouTube教程使用JavaScript进行了尝试,并且运行良好。我了解它是如何工作的,所以我创建了一个demo,其中您将固定的trie数据结构作为JSON对象,然后直接在应用程序中使用它。结构为LIKE THIS-

用于单词列表-

const items = ["apple","apricot","banana","car","cart","pear","guava","cherry","orange","pineapple","mango","grapes","blueBerry","raspBerry","melon","blackBerry","plum","kiwi","peach","strawBerry","avocado"
];

这是我不明白的事情清单

  1. 结构中的每个节点都存储与该节点关联的单词数组。如果单词列表很大,会发生什么?例如,如果父节点[a]以'A'开头的单词有500个,然后'Ab'的单词少于500个,依此类推...这是正确的方法吗?
  2. 一个困惑是,如果我在文件中有字典,那么我将不得不在我的android应用中打开文件以读取单词,然后创建结构并将该结构存储在HashMap或其他内容中。在我看来,这是一种非常糟糕的方法,因为它会减慢整个应用程序的速度。我认为是在桌面上创建固定的trie结构,并将其写入文件中。将该文件移到我的android应用中,然后在android应用中打开该文件,然后读取结构并将其转换为HashMap或任何可读格式。好吧,我的困惑是,Hashmap可以在内存中存储如此庞大的结构吗?如果是,是否会因为占用大量内存而减慢我的应用程序运行速度?
  3. 对于我简单的有限单词列表来说,它看起来确实非常快,但是庞大的单词列表会发生什么。它会以同样的方式执行吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)