Изменения

Перейти к: навигация, поиск

Двоичная куча

48 байт убрано, 23:31, 15 июня 2014
Восстановление свойств кучи
'''function''' siftDown(i : '''int'''):
'''while''' 2 * i + 1 <= A.heapSize <font color = "green">// <tex>heapSize</tex> {{---}} количество элементов в куче</font>
'''if''' 2 * i + 2 <= A.heapSize right left = A[2 * i + 21] <font color = "green">// правый left {{---}} левый сын</font> '''elseif''' right = inf left = A[2 * i + 1] 2 <font color = "green">// левый сын</font> A.heapSize '''ifand''' right A[2 * i + 2] <= left '''and''' right A[2 * i + 2] < A[i] < font color = "green">// A[2 * i+ 2]{{---}} правый сын</font>
swap(A[2 * i + 2], A[i])
i = 2 * i + 2
333
правки

Навигация