Have a look at huffman codes. While they are typically used for compression, you can also use them to build a tree, where you enter the first part of the tree and the contents of the sub-tree are all of the available completions.
oop, maybe just an n-ary tree.
imagine a tree where each node has (up to) 26 branches. so following branches a-n-t will show the word 'ant', but will also contain the tree showing all words starting with 'ant'