TreeFactory
- Description:
TreeFactory - Generatoren für numerische Beispielbäume
Stellt statische und zufällige Baumdefinitionen bereit, die vom GenericTreeAdapter aufgebaut werden können.
Trennungsprinzip:
- TreeFactory erzeugt reine Datenstrukturen (Baumdefinitionen)
- GenericTreeAdapter konsumiert diese und baut den visuellen Baum auf
Baumdefinitions-Format: { root: { value: number|null, children: [...] } }
- Blattknoten: { value:
, children: [] } (oder kein children-Feld) - Innere Knoten: { value: null, children: [...] }
- Source:
- Version:
- 1.0
- See:
-
- ENGINEERING_CONVENTIONS.md
Methods
(static) countNodes(treeDef) → {number}
- Description:
Zählt die Gesamtanzahl der Knoten in einer Baumdefinition. Nützlich für UI-Feedback vor dem Aufbau.
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
treeDef |
Object | Baumdefinition |
Returns:
Gesamtanzahl Knoten
- Type
- number
(static) generateRandomTree(depth, branching, rangeMin, rangeMax) → {Object}
- Description:
Erzeugt einen Zufallsbaum mit konfigurierbaren Parametern.
Alle Blattknoten erhalten zufällige ganzzahlige Werte im angegebenen Bereich. Innere Knoten haben value: null (werden durch Evaluation bestimmt).
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
depth |
number | Maximale Baumtiefe (1 = nur Root + Blätter) |
branching |
number | Verzweigungsgrad (Kinder pro innerem Knoten) |
rangeMin |
number | Minimaler Blattwert (inklusiv) |
rangeMax |
number | Maximaler Blattwert (inklusiv) |
Returns:
Baumdefinition für GenericTreeAdapter.visualizeTree()
- Type
- Object
(static) generateWikipediaExample() → {Object}
- Description:
Erzeugt den klassischen Wikipedia Alpha-Beta-Pruning Beispielbaum.
Struktur (Tiefe 2, Verzweigung 2): Root (MAX) ├── L (MIN) │ ├── L1 = 3 │ └── L2 = 5 → L wird 3 (MIN) └── R (MIN) ├── R1 = 2 → Cutoff! (2 < 3, also α ≥ β → R2 wird gepruned) └── R2 = ? (wird nicht evaluiert)
Ohne AB: Root = MAX(MIN(3,5), MIN(2,?)) → MAX(3, MIN(2,...)) Mit AB: Nach R1=2 gilt α=3 ≥ β=2 → R2 wird gepruned → Root = 3
- Source:
Returns:
Baumdefinition für GenericTreeAdapter.visualizeTree()
- Type
- Object