ForHosting KIT · Entwickler-Tools

Rechner für Kindindizes in einem Binärheap

Ein Binärheap speichert einen Baum in einem flachen Array. Deshalb erfordert der Weg von einem Elternknoten zu seinen Kindern eine kleine, aber wichtige Indexberechnung.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Dieser Rechner liefert die exakten Arraypositionen des linken und rechten Kindes für den angegebenen Knoten. Sie können die in Programmiersprachen übliche nullbasierte Indizierung oder die in Lehrbüchern und Pseudocode verbreitete einsbasierte Variante wählen. Das Ergebnis ist deterministisch, sofort verfügbar und wird geprüft, damit ungültige Wurzeln sowie Berechnungen außerhalb des sicheren JavaScript-Ganzzahlbereichs ausgeschlossen sind.

Wählen Sie vor der Formel das passende Indexschema

Ein Binärheap besitzt unabhängig von der Nummerierung des Arrays dieselbe Baumstruktur. Die Formeln für seine Kinder hängen jedoch davon ab, wo die Zählung beginnt. Bei nullbasierter Indizierung liegt die Wurzel am Index 0. Das linke Kind eines Knotens am Index i liegt folglich bei 2i + 1, das rechte bei 2i + 2. Bei einsbasierter Indizierung belegt die Wurzel den Index 1; damit lauten die Formeln 2i für das linke und 2i + 1 für das rechte Kind. Wählen Sie das Schema, das zum untersuchten Array oder Algorithmus gehört. Wenn Sie nur das Schema wechseln und den Knotenindex beibehalten, verweisen Sie auf eine andere physische Position. Der Rechner gibt das gewählte Schema und den ursprünglichen Index zusammen mit beiden Ergebnissen aus, sodass die Bedeutung eindeutig bleibt. Das hilft besonders beim Abgleich von Quellcode mit einem Lehrbuch: Viele Programmiersprachen verwenden nullbasierte Arrays, während didaktische Darstellungen die Position 0 reservieren und den Heap an Position 1 beginnen lassen. Wer die Konvention zuerst bestätigt, vermeidet ein ansonsten plausibel wirkendes Ergebnis mit einem Versatz von eins.

Geben Sie einen gültigen Knotenindex ein und lesen Sie beide Positionen ab

Tragen Sie die ganzzahlige Position des Elternknotens ein und wählen Sie das Indexschema des Arrays. In einem nullbasierten Heap darf der Knotenindex 0 oder eine größere sichere Ganzzahl sein. In einem einsbasierten Heap muss er mindestens 1 betragen, weil die Position 0 nicht zu dieser Konvention gehört. Die Antwort enthält left_child_index und right_child_index als Ganzzahlen, die Sie direkt zum Prüfen eines Arrays, zum Aufbau einer Traversierung oder zur Kontrolle einer Implementierung verwenden können. Diese Werte sind strukturelle Positionen und kein Nachweis dafür, dass dort tatsächlich Elemente vorhanden sind. Ein kleinerer Heap kann keines der beiden Kinder oder am Arrayende nur das linke Kind enthalten. Vergleichen Sie jeden ausgegebenen Index mit den Arraygrenzen, bevor Ihr Code darauf zugreift. Bei nullbasierter Indizierung existiert ein Kind nur, wenn sein Index kleiner als die Arraylänge ist. Bei einsbasierter Indizierung hängt die richtige Grenze davon ab, ob die Position 0 physisch reserviert wurde; richten Sie den Vergleich daher nach der Darstellung in Ihrem Programm. Diese Trennung hält die Berechnung präzise, ohne eine Heapgröße anzunehmen.

Nutzen Sie das Ergebnis zum Testen und Debuggen von Heapoperationen

Kindindizes sind grundlegend für das Abwärtssieben, den Heapaufbau, das Entfernen aus einer Prioritätswarteschlange und die Baumdarstellung. Beim Abwärtssieben berechnet eine Implementierung beide Positionen, prüft die vorhandenen Kinder, vergleicht deren Prioritäten und vertauscht den Elternknoten mit dem passenden Kind, wenn die Heapeigenschaft verletzt ist. Eine falsche Indexkonvention kann das tatsächliche linke Kind überspringen, über das Arrayende hinaus lesen oder unverbundene Elemente vergleichen, obwohl der Code mathematisch vernünftig aussieht. Dieser Rechner bietet eine schnelle unabhängige Kontrolle für Beispiele, Unit-Tests, technische Aufgaben und Codeprüfungen. Testen Sie die Wurzel, einen inneren Knoten und einen Knoten nahe dem Heapende, um die aufschlussreichsten Fälle abzudecken. Die Berechnung akzeptiert nur sichere Ganzzahlen und weist Ergebnisse außerhalb des exakt darstellbaren Bereichs zurück. Dadurch entstehen bei unrealistisch großen Eingaben keine unbemerkt gerundeten Indizes. Es gibt weder Netzwerkanfragen noch zufalls- oder zeitabhängige Werte. Browserberechnung und API-Handler verwenden dieselbe reine Funktion; dieselbe Eingabe erzeugt daher in beiden Umgebungen dieselbe Ausgabe, bei $0.002 pro API-Anfrage.

Abwärtssieben untersuchen

Prüfen Sie, ob eine Prioritätswarteschlange nach dem Entfernen ihrer Wurzel die beiden richtigen Arraypositionen untersucht.

Lehrbuchformeln in Code übertragen

Vergleichen Sie einsbasierten Pseudocode mit einer nullbasierten Programmiersprache, ohne einen Versatzfehler einzubauen.

Heap-Testfälle erstellen

Erzeugen Sie erwartete Kindpositionen für Wurzeln, innere Knoten und Grenzfälle in deterministischen Tests.

Welche Formeln gelten bei nullbasierter Indizierung?

Für einen Knoten am Index i liegt das linke Kind bei 2i + 1 und das rechte bei 2i + 2.

Welche Formeln gelten bei einsbasierter Indizierung?

Für einen Knoten am Index i liegt das linke Kind bei 2i und das rechte bei 2i + 1.

Garantiert ein ausgegebener Index, dass das Kind existiert?

Nein. Das Ergebnis nennt strukturelle Positionen. Vergleichen Sie jede Position mit den tatsächlichen Arraygrenzen, bevor Sie ein Element lesen.

Warum ist Index null im einsbasierten Modus ungültig?

Ein einsbasierter Heap platziert seine Wurzel an Position 1. Position 0 stellt in diesem Schema daher keinen Knoten dar.

Was kostet die Berechnung über die API?

Jede API-Anfrage kostet $0.002. Dieselbe deterministische Berechnung können Sie auch im Browser ausführen.

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/heap-children-index

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/heap-children-index \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"node_index":5}'
{
  "node_index": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.heap_children_index",
  "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.

Vollständige KIT-Dokumentation lesen →