Hallo, ich verstehe den Heapsort an sich also die Logik dahinter. Jedoch verstehe ich nicht genau was in diesem Code passiert, ich habe bspw ein max heap wo ein Element hoch getauscht werden soll, weil es die Heap Eigenschaft verletzt. Kann mir jemand erklären wie genau dieser Code funktioniert oder mir helfen das nachzuvollziehen? Ist k sozusagen der Wert den ich hoch tauschen will? wieso teile ich k/2? hilfeee.. Danke schon mal!
Java:
private void tauscheHoch(int k){
while((k > 1 && a[k/2] < a[k] )){
exchange(k, k/2);
k= k/2;
}
}