<div dir="ltr">Hi all,<div>  I'm looking at the TrieNode code, and while it's super fast, it's quite memory-hungry: each node uses 2kb of RAM for the children index and any moderately-sized Trie has plenty of nodes. On the upside, it's blazing fast.</div><div><br></div><div>How about changing it so that each node only havs as many children as the [min_char, max_char] range, using a std::vector and a min_char offset? Lookups would still be O(length of key), insertions may require shifting the vector if the char being inserted is lower than the current min_char, but the memory savings sound promising.</div><div><br></div><div>What do you think?</div><div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">    Francesco</div></div></div>