Narzędzia użytkownika

Narzędzia witryny


push_heap_pop_heap

To jest stara wersja strony!


push_heap i pop_heap - opis algorytmów

Algorytmy push_heap i pop_heap służą do operacji na kolekcjach danych, w których elementy ustawione są w strukturze kopca (stogu). Algorytm push_heap dodaje nowy element do kolekcji, a algorytm pop_heap zdejmuje element ze szczytu kopca. Struktura kopca po zastosowaniu tych algorytmów pozostaje niezachwiana.

Nagłówek

 #include<algorithm> 

Aby korzystać z algorytmów push_heap i pop_heap musimy dodać plik nagłówkowy <algorithm>.

Struktura kopca

Użycie algorytmów push_heap i pop_heap ma sens jedynie wtedy, gdy kolekcja danych przechowuje elementy w strukturze kopca. Aby uzyskać strukturę kopca wykorzystujemy algorytm make_heap. Przykłady użycia i jego opis można znaleźć w tym pliku: make_heap1.cpp

Na rysunku została przedstawiona kolekcja danych z elementami uporządkowanymi w kopiec. Kolorem czerwonym oznaczono indeksy tablicy. Kopiec sprawia, że na pierwszej pozycji znajduje się największy element (element tablicy o indeksie 0). Każde następne elementy są indeksowane według reguły:

  • jeśli rodzic ma indeks n to jego dzieci maja indeksy 2n+1 i 2n+2
push_heap_pop_heap.1239383296.txt.gz · ostatnio zmienione: 2009/04/10 19:08 przez marszaaljr