TreeFactory

Namespace

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
Author:
  • Alexander Wolf
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