Buenas...
Para guardar un árbol n-ario, necesitas almacenar también el número de hijos que tiene cada nodo.
A parte de eso, tienes las 3 opciones base de recorrido de árboles: preorden, inorden y postorden. Yo elegiría la primera, es decir, que se guarda primero el nodo actual y luego se baja al primer hijo, se guarda y se baja al siguiente y así hasta las hojas del árbol y así recursivamente con cada hijo de cada nodo.
Recuerda que en cada nodo necesitas guardar la información cualquiera que sea, de tu aplicación, más la longitud de la lista de hijos del nodo en curso.
Y con todo esto ya podrás guardar y recuperar sin problemas (espero).
Espero que te sirva.
Un saludo.
Silverfox