Middle
Čo robí heap push a ako pridáva prvok do haldy?
sobes.tech AI
Odpoveď od AI
Heap push — je operácia pridania nového prvku do dátovej štruktúry „hromada“ (heap), ktorá zachováva vlastnosti hromady (napríklad, minimálna alebo maximálna).
Ako prebieha pridanie:
- Nový prvok sa umiestni na koniec poľa reprezentujúceho hromadu.
- Následne sa vykoná operácia "sifovanie nahor" (sift-up alebo bubble-up): prvok sa porovná s jeho rodičom, a ak je narušené vlastnosti hromady (napríklad, v min-hromade, ak je prvok menší ako rodič), prvky sa vymenia.
- Tento proces sa opakuje, kým prvok nie je na správnej pozícii, čím sa obnovia vlastnosti hromady.
Týmto spôsobom, heap push zabezpečuje pridanie prvku pri zachovaní usporiadania hromady, čo umožňuje efektívne extrahovanie minimálneho alebo maximálneho prvku.
Príklad v Pythone s použitím modulu heapq:
import heapq
heap = [1, 3, 5, 7]
heapq.heapify(heap) # Premení zoznam na hromadu
heapq.heappush(heap, 2) # Pridá prvok 2
print(heap) # Hromada s zachovaným poradím
Ako výsledok, prvok 2 bude pridaný a "sifovaný" nahor, aby sa zachovali vlastnosti min-hromady.