Изменения

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

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

Нет изменений в размере, 18:01, 6 июня 2012
Базовые процедуры
right = 2 * i + 1 // правый сын
// heap_size - количество элементов в куче
If if (left <= A.heap_size) and (A[left] < A[i])
min = left
else
else
min = i
If if (min <> i)
Поменять A[i] и A[minimum]
sift_down(min)
<code>
sift_up(i)
If if (A[i] < A[i / 2])
Поменять A[i] и A[i / 2]
sift_up(i / 2)
Анонимный участник

Навигация