Zasada działania drzewa Trie jest bardzo prosta; Może kod tego nie obrazuje, ale schemat struktury takiego drzewa już powinien:
źródło: http://pl.wikipedia.org/wiki/Drzewo_trie
Z Twojego kodu wynika, że każdy węzeł drzewa posiada tablicę węzłów, odpowiadających poszczególnym literom, z których budowane są słowa; Wyszukiwanie słowa zaczyna się od węzła głównego; Zagłębianie się w drzewo wykonywane jest tyle razy, ile liter ma szukane słowo;
Najpierw sprawdzane jest, czy główny węzeł posiada w tablicy pierwszą literkę wyszukiwanego słowa; Jeśli tak - przechodzi się do węzła ze znalezioną literką; Następnie sprawdza się, czy aktualny węzeł posiada drugą literkę w tablicy i jeśli tak - przechodzi się do węzła odpowiadającego tej literce; Takie przechodzenie wykonuje się dla każdej literki; Jeśli słowo znajduje się w drzewie - wszystkie litery szukanego słowa zostaną znalezione; Jeśli nie istnieje - któraś literka nie zostanie znaleziona; Aby w takim przypadku dodać słowo do drzewa, trzeba do niego dodać węzły poczynając od pierwszej nieznalezionej literki;
Obrazek jaki dołączyłem do posta powinien to obrazować; Nie wiem czy podany przez Ciebie kod działa poprawnie, bo nie ma go jak przetestować, bez imeplementacji całego drzewa;
Edit: Nie zauważyłem, że już pytałeś o to drzewo w innym wątku: http://4programmers.net/Forum/Newbie/235688-wytlumaczenie_kodu_slownik_angielsko-polski?view=unread