由于某种原因,我对尝试的了解越多,我就越感到困惑。
现在让我感到困惑的是:
我已经阅读了大约 2 种类型的实现。
- 使用数组来表示字符(不存储字符本身),并且在每个节点中还存储实际单词的索引(如果我们找到一个单词)。
- 使用一个
Collection
存储字符的节点,并在每个节点的末尾使用一个布尔值来确定我们是否在这条路径上找到了一个单词
在第一种情况下,它没有被提及,但似乎我们实际上必须保留所有字典单词(因为我们间接引用它们)。所以我们有array_size*numberOfNodes*lengthOfword + size of dictionary processed
在后一种情况下,我们不需要字典,因为字符直接存储在树中。所以在我看来,第二种实现更节省空间。但我不确定多少。
我对实现的理解是否正确,是否有特定的理由来选择另一种?另外,我们如何计算第二种情况的空间需求?