試行錯誤について読めば読むほど、何らかの理由で混乱します。
今私を混乱させているのは次のことです:
私は 2 種類の実装について読んだことがあります。
- 配列を使用して文字を表し (文字自体を格納するのではなく)、各ノードに実際の単語へのインデックスも格納します (単語に到達した場合)。
- 文字を格納するノードの を使用
Collection
し、各ノードの最後でブール値を使用して、このパスをたどる単語に到達したかどうかを判断します
最初のケースでは言及されていませんが、実際にはすべての辞書の単語を保持する必要があるようです (間接的に参照しているため)。だから私たちは持っていますarray_size*numberOfNodes*lengthOfword + size of dictionary processed
後者の場合、文字はツリーに直接格納されるため、辞書は必要ありません。したがって、2 番目の実装の方がスペース効率が良いように思えます。しかし、どのくらいかはわかりません。
実装に関する私の理解は正しいですか? また、どちらかを選択する特定の理由はありますか? また、2 番目のケースのスペース要件をどのように計算できますか?