Trie экономит место, но как?

Я не понимаю, как реализация Trie экономит место и хранит данные в наиболее компактной форме!

Если вы посмотрите на дерево ниже. Когда вы храните символ в любом узле, вам также необходимо сохранить ссылку на него, и, таким образом, для каждого символа строки вам нужно сохранить его ссылку. Хорошо, мы сохранили немного места, когда появился общий символ, но мы потерял больше места для хранения ссылки на этот символьный узел.

Так разве не требуется много структурных накладных расходов на поддержание самого дерева? Вместо этого, если бы вместо этого использовалось TreeMap, скажем, для реализации словаря, это могло бы сэкономить намного больше места, так как строка будет храниться в одном куске, следовательно, не будет потрачено впустую места на хранение ссылок, не так ли?

enter image description here

13
задан Rajat Gupta 25 November 2011 в 06:27
поделиться