Изменения

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

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

56 байт убрано, 00:59, 16 июня 2014
siftDown
'''while''' 2 * i + 1 < A.heapSize <font color = "green">// heapSize {{---}} количество элементов в куче</font>
left = 2 * i + 1 <font color = "green">// left {{---}} левый сын</font>
right = 2 * i + 2 <font color = "green">// right {{---}} правый сын</font> j = left '''if''' right < A.heapSize '''and''' A[right] <= A[left] <font color = "green">// A[2 * i + 2] {{---}} правый сын</font> swap(A[right], A[i]) i j = right
'''else if''' A[left] < A[i]
j = left swap(A[lefti], A[ij]) i = left '''else''' '''break'''j
</code>
333
правки

Навигация