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.
SS14 A5 Haldensortierung: als nächstes betrachtetes Element
Hallo,
gegeben ist ein Feld mit den Werten 6703152, dessen fetter Bereich bereits die Max-Heap Eigenschaft erfüllt.
Zudem ist noch folgende Klasse gegeben:
class ComparatorAscByFieldT implements Comparator<W> {
@Override
public int compare (W o1, W o2) {...
}
jetzt soll man die Element des Feldes angeben, die das Verfahren im “Versickerschritt” für das nächste Element mit Hilde des ComparatorAscByFieldT vergleicht.
Das wäre mein Gedankengang:
- Die fetten Elemente sind bereits in der Form eines max-Heaps, als nächstes sehe ich mir also das Element 0 an.
- Die Kinder von 0 sind 5 und 2, deswegen vergleiche ich 5 und 2
- Ich tausche 0 mit dem größeren der beiden Kinderelement (5)
Also würde ich die Elemente 0, 5 und 2 ankreuzen. Der FSI-Lösungsvorschlag gibt aber 2, 5 und 6 an.
Warum ist das so?
https://fsi.cs.fau.de/dw/pruefungen/bachelor/aud/loesungss14
Liebe Grüße
Speedy
Hi,
I think what “2,5 and 6” on FSI-Lösungsvorschlag is the indices of the array.
So your answer is correct because index[2] = 0, index[5] = 5, and index[6] = 2.
I hope it helps.
Oh, that was stupid of me :scared:
Thanks for pointing this out.