Zum binären Suchbaum findest du bei Google mehr als genug Informationen
Ist eigentlich ganz einfach. Musst nur mal suchen. Eine Map kannst du hier aber wie schon erwähnt auch gut benutzen. Dein Problem mit den Daten ist eigentlich nicht vorhanden. Im Prinzip hast du das Wort an sich, dessen Übersetzung und möglicherweise Zusatzinformationen. Bei den Zusatzinformationen ist ja eigentlich egal, was diese beinhalten. Sie sind einfach da. Also hast du pro Dateneintrag 3 Informationen.
Du könntest jetzt pro Zeile einen Datensatz speichern und diese Drei Daten aufeinanderfolgen lassen. Möglicherweise getrennt durch ein bestimmtes Zeichen um sie hinterher wieder auseinander zu nehmen.
Wie man seine Daten speichert hängt ja normal ein wenig von der Anforderung ab. Möchtest du einen gesamten Spielzustand speichern, oder vielleicht nur Daten eines Charakters. Möglicherweise möchtest du aber auch ein Level speichern. Da muss man jedes mal gucken was man genau möchte. Das kommt aber alles mit der Zeit. Versuch dir darüber einfach weniger Gedanken zu machen.