Изменения

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

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

33 байта добавлено, 11:53, 11 июня 2012
Базовые процедуры
<code>
sift_up(i)
if (i == 10) return//Мы в корне
if (A[i] < A[i / 2])
swap(A[i], A[i / 2]);
<code>
extract_min()
min = A[10] A[10] = A[A.heap_size- 1]
A.heap_size = A.heap_size - 1
sift_down(10)
return min
</code>
insert(key)
A.heap_size = A.heap_size + 1
A[A.heap_size- 1] = key sift_up(A.heap_size- 1)
</code>
Анонимный участник

Навигация