Hallo ich muss ein Array in einen binären Heap schreiben.
Nun habe ich das Problem, das ich mit dem dazugehörigen Pseudocode nicht viel anfangen kann:

bubble-down(i)

pos <- i
while( (left(pos) < size && elements[left(pos)] < elements[pos]) ||
(right(pos) < size && elements[right(pos)] < elements[pos]) )
newPos <- left(pos)
if (right(pos) < size && elements[right(pos)] < elements[left(pos)])
newPos++
elements[pos] <-> elements[newPos]
pos <- newPos

Kann mir jemand kurz erklären, was dabei genau passiert. Also ich hatte mir gedacht, das dann scheinbar ein Element zuerst an der Wurzel eingesetzt wird, und dann je nachdem ob es größer oder kleiner ist nach unten läuft?
Ist das so richtig, oder muss ich noch was besonderes beachten.

Hoffe ihr könnt mir dabei weiterhelfen