Frage Halde als Array Indizierung

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Frage Halde als Array Indizierung
In der Klausur vom 27.03.2006 ist gefragt mit welcher Vorschrift man vom Index des “Elternknotens” auf das “linke” und “rechte” Kind gelangt und wie man vom gegebenen Index auf dessen “Elternknoten” gelangt.
Eigentlich wäre das ja ganz einfach wenn die in der Aufgabe nicht sagen würden dass das erste Element in der Reihung den Index 0 hat.
Da funktioniert nämlich die Vorschrift Index/2 nicht mehr um den Elternknotenindex zu erhalten.
Und da man nicht weiß, ob es sich bei dem Index um ein linkes oder rechtes Kind handelt verstehe ich nicht wie da die allgemein gültige Indizierungsvorschrift auszusehen hat.


Linkes Kind:      2*ElternIndex  + 1
Rechtes Kind:     2*ElternIndex  + 2

Vater:            (KindIndex - 1) / 2

Ganz schön primitiv…danke


ja die aufgabe war echt geschenkt :smiley:
ich hoff es kommt sowas simples dran, aber ich geh mal nicht davon aus. Aber träumen darf man ja noch :wink:

vorallem weil man obendrüber ja en array in nen heap wandeln musste, da konnte man sich die formel “herleiten” aus der Zeichnung, ohne viel zu denken.