B
HiFish2 schrieb:
Hi,
ich will einen binären Baum für meine Mühle KI erzeugen.
Warum binär? Es gibt doch normalerweise mehr als zwei mögliche Züge.
Rekursiv wäre das ja nicht so schwer nur dürfte das relativ schnell einen Stack Overflow produzieren, da es schon ab 2-3 Züge massig Varianten gibt.
Die Zahl der Züge eines Spiels dürfte doch irgendwo in der Größenordnung von 100 liegen, das hält jeder Stack aus. Mir scheint, der Baum wird eher breit als tief. Die Zahl der Knoten ist das Problem, nicht die Rekursionstiefe.
Das ist die Knotenstruktur:
struct node{
struct field field; //Das neue Spielfeld speichern
int value; //Den Wert des Zuges speichern
int depth; //Die Zugtiefe speichern
struct tree *partner; // Anderer Zug vom gleichen "Vater"
struct tree *down; //Nachfolgender Zug
};
Ach du willst einen allgemeinen Baum als binären Baum darstellen. OK, das ändert aber prinzipiell nichts, die Tiefe ändert sich um einen konstanten Faktor.