sind diese Methoden im Prinzip gleich also das eine ein max und das andere min heap?Also ich weiss das dass zweite ein max heap ist aber bin mir nicht sicher ob das erste das Gegenteil ist, weiss nicht genau was das greater heissen soll in der sink methode. Danke falls jemand weiter helfen kann!
Java:
private void sink(int k) {
while (2*k <= n) {
int j = 2*k;
if (j < n && greater(j, j+1)) j++;
if (!greater(k, j)) break;
exch(k, j);
k = j;
}
}
Java:
private void tauscheRunter(int k) {
while (2 * k <= N) {
int j = 2 * k; // j ist kind , und k ist Elternteil
if (j < N && (a[j]<(a[j + 1])))
j++;
if (a[k]>=(a[j]))break;
exchange(k, j); //tausche kind mit elternteil
k = j;
}
}