Sobes.tech
Junior — Middle

Aká je hlavná úloha a účel dátovej štruktúry Heap v programovaní?

sobes.tech AI

Odpoveď od AI

Heap je dátová štruktúra, ktorá predstavuje binárne strom, splňajúce vlastnosť haldy: hodnota v každom uzle je väčšia (pre max-heap) alebo menšia (pre min-heap) ako hodnoty jeho potomkov. Hlavnou úlohou Heap je efektívne uloženie a rýchly prístup k minimálnemu alebo maximálnemu prvku.

Heap sa často používa na implementáciu front s prioritou, kde je potrebné rýchlo extrahovať prvok s najvyššou prioritou. Používa sa tiež v algoritmoch triedenia (heap sort) a pri riešení problémov súvisiacich s dynamickým hľadaním extrémov.

Príklad použitia min-heap v Jave s PriorityQueue:

import java.util.PriorityQueue;

PriorityQueue<Integer> minHeap = new PriorityQueue<>();
minHeap.add(5);
minHeap.add(1);
minHeap.add(3);

System.out.println(minHeap.poll()); // Vypíše 1 — minimálny prvok