Speichern möchten binäre Struktur auf der Festplatte für das "20-Fragen" - Spiel

Kurz gesagt, ich würde es gerne lernen/entwickeln, die eine elegante Methode zum speichern eines binären Baums auf der Festplatte (eine Allgemeine Struktur, die nicht unbedingt eine BST). Hier ist die Beschreibung meines Problems:

Ich bin Implementierung ein Spiel der "20-Fragen". Ich habe geschrieben ein binärer Baum, dessen innere Knoten sind Fragen und lässt Antworten gibt. Das linke Kind eines Knotens ist der Weg, dem Sie Folgen würden, wenn jemand antwortete "ja" zu Ihrer aktuellen Frage, während das Rechte Kind ist ein "Nein" zu beantworten. Hinweis: dies ist nicht eine binäre Suche Baum, nur ein binärer Baum, dessen linke Kind ist "ja" und rechts "Nein".

Das Programm fügt einen Knoten zu einem Baum, wenn er auf ein Blatt, das null ist, indem der Benutzer gefragt wird, unterscheiden Sie Ihre Antwort von der einen war der computer zu denken.

Dies ist ordentlich, weil der Baum baut sich auf wie der Benutzer spielt. Was nicht ordentlich ist, dass ich nicht haben eine gute Möglichkeit zum speichern des Baumes auf der Festplatte.

Habe ich mir Gedanken über die Rettung der Baum als array-Darstellung (für Knoten i, linke Kind ist 2i+1 und 2i+2, (i-1)/2 für die Eltern), aber es ist nicht sauber, und ich am Ende mit sehr viel Platz verschwendet.

Ideen für eine elegante Lösung zum speichern eines sparse binary tree auf der Festplatte?

InformationsquelleAutor Rich | 2008-12-03
Schreibe einen Kommentar