O primă soluție este de a insera succesiv elementele in heap plecând inițial de la heap-ul format dintr-un singur element:
  {
    int i;
    for (i=0; i<n; i++)
        inserare(H,i,H[i]);
  }
Analizând complexitatea procedurii de inserare deducem că, în cazul cel mai nefavorabil, valoarea nou inserată urcă până în rădăcina arborelui, deci necesită O(h) operații elementare, unde h este înălțimea heap-ului. Un heap fiind un arbore binar complet, înălțimea sa h va fi [log n], deci inserarea unui nod într-un heap cu n elemente este de
O(log n).
Să estimăm complexitatea în cazul cel mai nefavorabil a procedurii de construcție a heap-ului prin inserări succesive. Dacă toate cele 2^i valori de pe nivelul i urcă până în rădăcină, obținem complexitate de O(n log n).