Thanks, that is very interesting. Why would you create 26 pointers before you need them? It seems to me each node would have zero pointers until you add a child letter. Nodes would then only contain as many pointers as they have children letters. I must be missing something on why you create them in advance. It would be 100% memory efficient if you only created them when they are needed.