ForHosting KIT · Entwickler-Tools

Rekursionsbaum-Knotenrechner

Zählen Sie die Knoten eines Teile-und-herrsche-Rekursionsbaums Ebene für Ebene: Zwei halb so große Teilprobleme ab 16 ergeben 5 Ebenen mit 1, 2, 4, 8 und 16 Knoten, insgesamt 31, davon 16 Blätter. Prüfen Sie Übungen, ohne den Baum zu zeichnen. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Verzweigungsfaktor
2
Verkleinerungsverhältnis
2
Eingabegröße
16
Erhalten Sie
Anzahl der Ebenen
5
Baumhöhe
4
Knoten gesamt
31
Blattknoten
16

Teile-und-Herrsche-Rekurrenzen der Form T von n gleich a mal T von n durch b plus nichtrekursive Arbeit erscheinen in jedem Algorithmenkurs, wenn Mergesort, binäre Raumpartitionen oder mehrwegige Rekursion als Bäume gezeichnet werden. Lernende brauchen eine verlässliche Zählung, wie viele Knoten auf jeder Ebene liegen und wie tief der Baum wächst, bevor Teilprobleme den Basisfall erreichen. Dieser Rekursionsbaum-Knotenrechner nimmt den Verzweigungsfaktor a, das Verkleinerungsverhältnis b und die Wurzel-Eingabegröße n entgegen, durchläuft den Baum, bis die Teilproblemgröße höchstens eins ist, und liefert Ebenenanzahl, Baumhöhe, Gesamt- und Blattknotenzahlen, die knotenweise Folge pro Ebene, Teilproblemgrößen sowie zwei bruchteilige Arbeitsverteilungen. Die eine nimmt Einheitskosten pro Knoten an; die andere nimmt Arbeit proportional zur Teilproblemgröße an und entspricht dem klassischen Mergesort-Bild, in dem jede volle Ebene weiterhin lineare Arbeit in n leistet.

Was ein Rekursionsbaum zählt und wie Ebenen definiert sind

Ein Rekursionsbaum ist das Bild jedes Teilproblems, das ein Teile-und-Herrsche-Algorithmus erzeugt, dessen Laufzeit T von n gleich a mal T von n durch b plus f von n genügt. Die Wurzel steht für die ursprüngliche Instanz der Größe n. Jeder innere Knoten hat genau a Kinder; jedes löst ein Problem, dessen Größe die Elterngröße geteilt durch b ist.

Ebenen werden ab null an der Wurzel nummeriert. Auf Ebene i liegen a hoch i Knoten, und jeder hat die Teilproblemgröße n geteilt durch b hoch i, sofern die Größen reell und positiv bleiben. Der Lauf setzt fort, solange die aktuelle Größe strikt größer als eins ist; die erste Ebene, deren Größe kleiner oder gleich eins ist, wird als Blattebene der Basisfälle behalten, danach stoppt der Lauf.

Diese Konvention entspricht der Lehrbuch-Abbruchbedingung, Eingaben konstanter Größe direkt zu lösen. Die Baumhöhe ist die Ebenenanzahl minus eins, die Zahl der Kanten auf einem Weg von der Wurzel zu einem Blatt. Blattknoten entsprechen a hoch der Höhe, wenn Größen an einer exakten Potenzgrenze eins erreichen, und allgemein der Knotenzahl der zuletzt erfassten Ebene.

Innere Knoten sind Gesamtknoten minus Blätter. Bei Verzweigungsfaktor eins ist der Baum eine einzelne Kette mit Länge gleich der Zahl aufeinanderfolgender Divisionen, bis die Größe höchstens eins ist. Bei Verzweigungsfaktor größer als eins ist die geschlossene Form der Gesamtknoten über L Ebenen a hoch L minus eins, alles geteilt durch a minus eins; dieser Endpunkt berechnet das durch Summation der geometrischen Reihe neu, damit gebrochene Größen und frühe Basisfälle mit dem Lauf konsistent bleiben.

Wo das Zählen der Baumknoten hilft

Algorithmenkurse und Tutoriums-Plattformen nutzen einen Rekursionsbaum-Knotenrechner, damit Lernende Tiefe und Breite für beliebige a, b und n prüfen können, ohne Hunderte Knoten von Hand zu zeichnen. Prüfungsgeneratoren brauchen ein deterministisches Orakel, das eine behauptete Blatt- oder Ebenenanzahl als falsch markiert statt vage asymptotische Schätzungen zu akzeptieren. Interview-Vorbereitungswerkzeuge und Komplexitätsvisualisierer koppeln die Ebenen-Arrays mit Diagrammen, damit Kandidaten sehen, warum ausgewogenes Teile-und-Herrsche oft auf jeder Ebene dieselbe Arbeit leistet, wenn a gleich b ist.

Engineering-Notebooks, die mehrwegige Splitter oder parallele Task-Graphen prototypen, können den Fan-out prüfen, bevor Produktions-Scheduler geschrieben werden. Fehlgeschlagene Validierung wird nicht berechnet.

Algorithmen-Hausaufgaben und Tutorium

Lassen Sie Studierende a, b und n für T(n)=a T(n/b)+f(n) einreichen und Ebenenanzahl, Blattknoten sowie die geometrische Knotensequenz gegen Lehrbuchzeichnungen prüfen.

Automarkierung von Prüfungen und LMS

Bewerten Sie Rekursionsbaum-Aufgaben mit einem deterministischen Orakel für Gesamtknoten und Höhe statt asymptotischer Handwellen als exakte Antworten.

Wie viele Knoten hat der Rekursionsbaum von Mergesort?

Bei einer Eingabe von 16, die bei jedem Aufruf halbiert wird, gibt es 5 Ebenen mit 1, 2, 4, 8 und 16 Knoten. Das sind insgesamt 31 Knoten, davon 16 Blätter und 15 innere Knoten.

Wann hört der Baum auf zu wachsen?

Auf der ersten Ebene, auf der die Teilproblemgröße auf 1 oder weniger fällt. Diese Ebene enthält die Basisfälle. Die Höhe ist die Zahl der Ebenen minus eins, 5 Ebenen bedeuten also Höhe 4.

Was zeigen die beiden Arbeitsverteilungen?

Die eine nimmt an, dass jeder Knoten gleich viel kostet, sodass der Großteil der Arbeit in den Blättern liegt. Die andere nimmt Arbeit proportional zur Größe an, wie bei Mergesort, wo jede der 5 Ebenen ein Fünftel leistet.

Was, wenn jeder Aufruf nur ein Teilproblem erzeugt?

Dann ist der Baum eine einzige Kette, so lang wie die Zahl der Teilungen, bis die Größe auf 1 sinkt. Der Verkleinerungsfaktor muss immer größer als eins sein, sonst würden die Teilprobleme nie kleiner.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/dev/recursion-tree-nodes

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/dev/recursion-tree-nodes \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"branching_factor":2,"shrink_ratio":2,"input_size":16}'
{
  "branching_factor": 2,
  "shrink_ratio": 2,
  "input_size": 16
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.recursion_tree_nodes",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Eingabevertrag, Antwortfelder und Sichten der Arbeitsverteilung

Die recurrence-Zeichenkette formuliert T von n mit a und b neu, und das Feld formula fasst die Ebenenregel und die geschlossene Gesamtknotenform zusammen. Pathologische Kombinationen, die eine sichere Ebenen- oder Knotendecke überschreiten würden, werden mit klarer Meldung abgelehnt, damit Clients nie an einem explodierenden Baum hängen. Beispiel: Verzweigungsfaktor zwei, Verkleinerungsverhältnis zwei, Eingabegröße sechzehn liefert fünf Ebenen mit Zählungen eins, zwei, vier, acht, sechzehn, insgesamt einunddreißig Knoten und sechzehn Blätter — den klassischen perfekten binären Rekursionsbaum von Mergesort auf einem Zweierpotenz-Array. Senden Sie per POST einen JSON-Körper mit drei erforderlichen endlichen Zahlen: branching_factor, eine ganze Zahl größer oder gleich eins; shrink_ratio, eine endliche Zahl strikt größer als eins, damit Teilprobleme schrumpfen; und input_size, eine endliche Zahl mindestens eins für die Wurzel. Numerische Zeichenketten werden akzeptiert; fehlende Felder, nichtendliche Werte, nichtganzzahlige oder unter eins liegende Verzweigungsfaktoren, Verkleinerungsverhältnisse nicht größer als eins und Wurzelgrößen unter eins scheitern mit invalid_input und werden nicht berechnet. Bei Erfolg spiegelt der Körper die drei Eingaben und meldet level_count, tree_height, total_nodes, leaf_nodes und internal_nodes. Das Array nodes_per_level listet, wie viele Knoten auf jeder Ebene von der Wurzel abwärts sitzen. Das Array subproblem_size_per_level listet die Größe, die alle Knoten jener Ebene teilen, auf zwölf Dezimalstellen gerundet für stabile Gleichheit über Laufzeiten. Zwei parallele Bruch-Arrays summieren zu eins: node_fraction_per_level teilt die Knotenzahl jeder Ebene durch die Gesamtsumme und modelliert Einheitsarbeit pro rekursivem Aufruf; size_work_fraction_per_level gewichtet jede Ebene mit Knoten mal Teilproblemgröße und modelliert nichtrekursive Arbeit proportional zur Größe an jenem Knoten.

Wo eine Rekursionsbaum-Knoten-API ihren Nutzen bringt

Weil die Implementierung pure parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Tokens und ohne ausgehendes Netz.

Komplexitätsvisualisierer und Interview-Vorbereitung

Speisen Sie nodes_per_level und size_work_fraction_per_level in Diagramme ein, damit Kandidaten sehen, wie sich Arbeit über Ebenen in Mergesort-artigen Bäumen verteilt.

Wie zählt man Knoten in einem Teile-und-Herrsche-Rekursionsbaum?

Senden Sie branching_factor a ganzzahlig ≥ 1, shrink_ratio b > 1 und input_size n ≥ 1. Die API läuft Ebenen mit a^i Knoten der Größe n/b^i bis size ≤ 1 und liefert Totale plus Ebenen-Arrays.

Was ist der Unterschied zwischen level_count und tree_height?

level_count ist die Zahl der Ebenen einschließlich der Wurzel (mindestens 1). tree_height ist level_count minus 1, die Zahl der Kanten auf einem Weg von der Wurzel zu einem Blatt.

Wie wird die Arbeitsverteilung berechnet?

node_fraction_per_level ist die Knotenzahl jeder Ebene über total_nodes. size_work_fraction_per_level gewichtet jede Ebene mit Knoten mal Teilproblemgröße, abgestimmt auf nichtrekursive Arbeit Θ(size) pro Aufruf.

Wann lehnt der Rechner die Eingabe ab?

Fehlende oder nichtendliche Felder, nichtganzzahliges oder unter eins liegendes branching_factor, shrink_ratio ≤ 1, input_size < 1 oder Bäume über der sicheren Ebenen-/Knotendecke scheitern mit invalid_input und werden nicht berechnet.

Was kostet der Rekursionsbaum-Knotenrechner?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →