Middle
Wat doet heap push en hoe voegt het een element toe aan de heap?
sobes.tech AI
Antwoord van AI
Heap push — is een operatie waarbij een nieuw element wordt toegevoegd aan de datastructuur 'heap', die de eigenschappen van de heap (bijvoorbeeld minimaal of maximaal) behoudt.
Hoe de toevoeging plaatsvindt:
- Het nieuwe element wordt aan het einde van de array geplaatst die de heap vertegenwoordigt.
- Vervolgens wordt de operatie "sift-up" (sift-up of bubble-up) uitgevoerd: het element wordt vergeleken met zijn ouder, en als de heap-eigenschap wordt geschonden (bijvoorbeeld, in een min-heap, als het element kleiner is dan de ouder), worden de elementen van plaats verwisseld.
- Dit proces wordt herhaald totdat het element op de juiste positie staat, waardoor de heap-eigenschappen worden hersteld.
Op deze manier zorgt heap push voor het toevoegen van een element met behoud van de ordening van de heap, wat het efficiënt maken van het extraheren van het minimale of maximale element mogelijk maakt.
Voorbeeld in Python met de module heapq:
import heapq
heap = [1, 3, 5, 7]
heapq.heapify(heap) # Zet de lijst om in een heap
heapq.heappush(heap, 2) # Voegt het element 2 toe
print(heap) # Heap met behoud van de volgorde
Als resultaat wordt het element 2 toegevoegd en "sift-up" om de eigenschappen van de min-heap te behouden.