Middle
Ko dara heap push un kā tas pievieno elementu kaudzei?
sobes.tech AI
Atbilde no AI
Heap push — tas ir operācija, kurā tiek pievienots jauns elements „kupa“ (heap) datu struktūrā, kas saglabā kupas īpašības (piemēram, minimālo vai maksimālo).
Kā notiek pievienošana:
- Jauns elements tiek novietots masīva, kas pārstāv kupu, beigās.
- Tad tiek veikta "pacelšanās" (sift-up vai bubble-up) operācija: elements tiek salīdzināts ar savu vecāku, un, ja tiek pārkāptas kupas īpašības (piemēram, min-kupā, ja elements ir mazāks par vecāku), elementi tiek apmainīti vietām.
- Šis process tiek atkārtots, līdz elements atrodas pareizajā pozīcijā, atjaunojot kupas īpašības.
Tādējādi, heap push nodrošina elementa pievienošanu, saglabājot kupas kārtību, kas ļauj efektīvi izņemt minimālo vai maksimālo elementu.
Piemērs Python valodā ar heapq moduli:
import heapq
heap = [1, 3, 5, 7]
heapq.heapify(heap) # Pārvērš sarakstu kupā
heapq.heappush(heap, 2) # Pievieno 2
print(heap) # Kupa ar saglabātu kārtību
Rezultātā, elements 2 tiks pievienots un "pacelts" augšup, lai saglabātu min-kupas īpašības.