Изменения

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

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

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

Навигация