SIECI KOMPUTEROWE

DEMONSTRACJA - POJEMNOSC DYSKOW NA SERWERZE MION

DEMONSTRACJA - POJEMNOSC DYSKOW NA SERWERZE GALERA

PROJEKT SNR

Algorytm Heap-Sort

 
 Kopiec (Heap)

Kopiec - zupełne drzewo binarne, w którego węzłach znajdują się elementy reprezentowanego multizbioru (elementy mogą się powtarzać)  S i jest spełniony warunek kopca: jeśli węzeł x jest następnikiem węzła y, to element w węźle x jest nie większy niż element w węźle y.







Własności kopca:

 Reprezentacja kopca w tablicy

Kopiec może być reprezentowany w tablicy. Obowiązują wówczas następujące zależności:

indeks 
1 2
element kopca 
  25  12  7 8 1
 Wstawianie elementów - insert

Wstawienie elementu x do kopca polega na umieszczeniu elementu w pierwszym wolnym miejscu i przywróceniu zachodzenia warunku kopca, jeśli wstawiony element jest większy niż w poprzedniku. Aby przywrócić zachodzenie warunku, należy przesuwać wstawiany element w kierunku korzenia (operacja upheap), w poszukiwaniu miejsca gdzie warunek kopca będzie spełniony.
 
 Usunięcie największego - deletemax

Aby usunąć największy element z kopca należy usunąć element z korzenia, zaś na jego miejsce wstawić ostatni element (o największym indeksie) kopca. Następnie należy przywrócić warunek kopca przesuwając element do dołu (operacja downheap).
 
 Sortowanie - heapsort

Sortowanie polega na n-krotnym wywołaniu funkcji deletemax, gdzie n jest liczbą elementów kopca.
 
 
 Literatura

  1. L. Banachowski, K. Diks, W. Rytter "Algorytmy i struktury danych", WNT, Warszawa
  2. P. Wróblewski, "Algorytmy, struktury danych i techniki programowania", Helion 1997



Data ostatniej aktualizacji: 10.04.2003