Here's a fairly naive implementation in Python:
A Levenshtein-distance based spelling corrector is included in this program as a test.
$ python VP_tree.py /usr/share/dict/words Load dictionary 98568 words Construct tree 727925 comparisons Ready to answer queries query> mispelt 76 comparisons later... 1 misspelt 2348 comparisons later... 2 dispels 0 comparisons later... 2 misspell 0 comparisons later... 2 misspent 0 comparisons later... 2 respelt query> correct 8 comparisons later... 0 correct 1591 comparisons later... 1 corrects 1623 comparisons later... 2 Forrest 0 comparisons later... 2 collect 0 comparisons later... 2 connect query> fandabulous 18600 comparisons later... 3 fabulous 7333 comparisons later... 4 nebulous 0 comparisons later... 4 scandalous 14885 comparisons later... 4 pendulous 2314 comparisons later... 5 Daedalus