Indeks rodzica węzła i niebędącego korzeniem to
Budowanie i naprawianie struktury kopca w pseudokodzie:
Naprawianie struktury kopca funkcja Heapify(a): largest := a jeśli 2a <= size oraz H[2a] > H[largest], to largest := 2a; jeśli 2a + 1 <= size oraz H[2a + 1] > H[largest], to largest := 2a + 1; jeśli largest != a, to zamień miejscami H[largest] oraz H[a] wywołaj rekurencyjnie Heapify(largest)
Budowanie kopca procedura Build-Heap: dla i z zakresu size .. 1: wywołaj Heapify(i)
Dodawanie nowych wierzchołków Załóżmy, że kopiec składa się z n elementów, zaś elementy uporządkowane są od największych (warunek kopca brzmi więc: każdy element jest większy od swoich dzieci). Dodawany wierzchołek ma klucz równy k: wstaw wierzchołek na pozycję n+1 zamieniaj pozycjami z rodzicem (przepychaj w górę) aż do przywrócenia warunku kopca (czyli tak długo, aż klucz rodzica jest większy niż k, lub element dotrze na pozycję 1)
Dodawanie nowego wierzchołka w pseudokodzie: funkcja Insert(a): size := size + 1 child := size H[child] := a dopóki child > 1 oraz H[child] > H[child/2], wykonuj zamień miejscami H[child] oraz H[child/2] child := child / 2